> php教程 > php手册 > thinkphp는 템플릿 파일을 분리합니다.

thinkphp는 템플릿 파일을 분리합니다.

WBOY
풀어 주다: 2016-10-17 09:12:11
원래의
1229명이 탐색했습니다.

thinkphp는 템플릿 파일 보기를 분리합니다
thinkphp의 기본 뷰는 /Application
의 각 모듈 아래에 있습니다. CSS 및 js와 같은 리소스 파일은 /Public 디렉터리에 있습니다.
대충 이런 느낌이에요;
thinkphp├─Application 项目逻辑目录<br> │  ├─Common 公共模块<br> │  │  ├─...<br> │  ├─Home  Home模块<br> │  │  ├─Controller  Home控制器目录<br> │  │  ├─...<br> │  │  ├─View  Home模块下的视图目录<br> │  │  │  ├─Index<br> │  │  │  │  ├─index.html<br> │  │  │  │  ├─...<br> │  │  │  ├─Tag<br> │  │  │  │  ├─index.html<br> │  │  │  │  ├─add.html<br> │  │  │  │  ├─edit.html<br> │  │  │  │  ├─...<br> │  ├─Admin  Admin模块<br> │  │  ├─Controller  Admin控制器目录<br> │  │  ├─...<br> │  │  ├─View  Admin模块下的视图目录<br> │  │  │  ├─Index<br> │  │  │  │  ├─index.html<br> │  │  │  │  ├─...<br> │  │  │  ├─Article<br> │  │  │  │  ├─index.html<br> │  │  │  │  ├─add.html<br> │  │  │  │  ├─edit.html<br> │  │  │  │  ├─...<br> │  ├─...<br> ├─Public 资源文件目录<br> │  ├─Home  前台Home视图目录   <br> │  │  ├─Public 前台Home的公共目录<br> │  │  │  ├─js  home下调用的js文件目录<br> │  │  │  ├─css  home下调用的css文件目录<br> │  │  │  ├─images  home下调用的图片文件目录 <br> │  ├─Admin  前台Home视图目录   <br> │  │  ├─Public 前台Home的公共目录<br> │  │  │  ├─js  home下调用的js文件目录<br> │  │  │  ├─css  home下调用的css文件目录<br> │  │  │  ├─images  home下调用的图片文件目录 <br> │  ├─...<br> ├─ThinkPHP 框架系统目录├─응용프로그램 프로젝트 논리 디렉터리
│ ├─공통 공개 모듈
│ │ ├─...
│ ├─홈 홈 모듈
│ │ ├─컨트롤러 홈컨트롤러 디렉터리
│ │ ├─...
│ │ ├─View Home 모듈 아래 디렉터리 보기
│ │ │ ├─색인
│ │ │ │ ├─index.html
│ │ │ │ ├─...
│ │ │ ├─태그 │ │ │ │ ├─index.html<br> │ │ │ │ ├─add.html<br> │ │ │ │ ├─edit.html<br> │ │ │ │ ├─...<br> │ ├─관리 관리 모듈<br> │ │ ├─컨트롤러 관리 컨트롤러 디렉터리<br> │ │ ├─...<br> │ │ ├─보기 관리 모듈 아래의 보기 디렉터리 <br> │ │ │ ├─색인<br> │ │ │ │ ├─index.html<br> │ │ │ │ ├─...<br> │ │ │ ├─기사 │ │ │ │ ├─index.html │ │ │ │ ├─add.html │ │ │ │ ├─edit.html │ │ │ │ ├─... │ ├─... ├─공용 자원 파일 디렉토리 │ ├─Home Front 홈 디렉토리 보기 │ │ ├─공개 프런트 공개 디렉토리 홈 │ │ │ ├─js 홈에서 호출되는 js 파일 디렉터리 │ │ │ ├─css 홈 아래에 호출되는 css 파일 디렉터리 │ │ │ ├─이미지 홈 아래에 호출되는 사진 파일 디렉터리 │ ├─관리 프론트 데스크 홈 디렉토리 보기 │ │ ├─공개 프론트 데스크 공개 디렉토리 홈 │ │ │ ├─js home 아래에 호출되는 js 파일 디렉터리 │ │ │ ├─css 홈 아래에 호출되는 css 파일 디렉터리 │ │ │ ├─이미지 홈 아래에 호출되는 사진 파일 디렉터리 │ ├─... ├─ThinkPHP 프레임워크 시스템 디렉터리그러나 실제 개발 중입니다. View 디렉토리를 다양한 모듈에 분산시키는 데에는 많은 단점이 있습니다. 우선, 여러 테마 세트를 개발하는 것은 꽤 번거롭고 혼란스럽습니다. 게다가 gulp와 같은 프론트엔드 도구를 사용하는 것도 매우 불편합니다 우리가 원하는 것은 원본 코드로 가득 찬 디렉토리입니다. 또 다른 디렉토리는 압축된 html, js, css 등으로 가득 차 있습니다. 버닝구스; 이런 디렉토리 구조를 마주하면 작은 소망이 됩니다. 내 표정은 검은색 물음표.jpg 따라서 모든 템플릿 파일, js, css 등을 분리하여 루트 디렉터리의 /tpl에 배치했습니다. 게을러서 이전에 작성한 디렉토리 구조를 가져왔습니다. thinkphp-bjyadmin ├─응용프로그램 프로젝트 논리 디렉터리 │ ├─공통 공개 모듈 │ │ ├─공용 공용 함수 디렉터리 │ │ │ ├─funcioin.php 공개 함수 PHP 파일 │ │ ├─Conf 공개 구성 파일 디렉터리 │ │ │ ├─config.php tp 구성은 프레임워크의 기본 구성 항목을 재정의하는 데 사용됩니다. │ │ │ ├─db.php 데이터베이스 구성 사용자 이름 비밀번호 등 │ │ │ ├─webconfig.php 프로젝트 구성 웹사이트 이름 등 │ │ ├─컨트롤러 퍼블릭 컨트롤러 디렉터리 │ │ │ ├─BaseController.class.php는 가장 기본적인 컨트롤러를 적용합니다│ │ │ ├─HomeBaseController.class.php 홈 베이스 컨트롤러는 BaseController를 상속합니다
│ │ │ ├─AdminBaseController.class.php 관리 기본 컨트롤러가 BaseController를 상속합니다
│ │ │ ├─UserBaseController.class.php 사용자 기본 컨트롤러가 BaseController를 상속합니다
│ │ │ ├─...
│ │ ├─모델 공개 모델 디렉토리
│ │ │ ├─BaseModel.class.php 가장 기본적인 Model 적용
│ │ │ ├─ArticleModel.class.php 기사 모델이 BaseModel을 상속합니다
│ │ │ ├─UserModel.class.php 사용자 모델은 BaseModel을 상속합니다
│ │ │ ├─...
│ │ ├─태그 공개 태그 디렉토리
│ │ │ ├─My.class.php 사용자 정의 태그 라이브러리
│ │ │ ├─...
│ ├─홈 홈 모듈
│ │ ├─Controller 홈 컨트롤러 디렉터리 HomeBaseController 상속
│ │ │ ├─ArticleController.class.php 기사 컨트롤러 디렉토리
│ │ │ ├─IndexController.class.php 홈 컨트롤러
│ │ │ ├─...
│ ├─관리 관리 모듈
│ │ ├─컨트롤러 관리 컨트롤러 디렉터리는 AdminBaseController를 상속합니다
│ │ │ ├─IndexController.class.php 백엔드 관리 홈 페이지 컨트롤러
│ │ │ ├─...
│ ├─사용자 사용자 모듈
│ │ ├─Controller 사용자 컨트롤러 디렉터리는 UserBaseController를 상속합니다
│ │ │ ├─IndexController.class.php 사용자 개인센터 홈페이지 컨트롤러
│ │ │ ├─...
├─공용 자원 파일 디렉토리
│ ├─install 설치 부팅 디렉터리
│ ├─statics 정적 리소스 디렉터리
│ │ ├─부트스트랩 부트스트랩 프레임워크
│ │ ├─ueditor ueditor
│ │ ├─js jquery 등 타사 js가 저장되는 디렉토리
│ │ ├─css animate.css 및 기타 타사 CSS 디렉토리
│ │ ├─...  
├─tpl 파일 디렉터리 보기
│ ├─공공 공공 디렉토리
│ │ ├─js 공개 js 디렉토리
│ │ │ ├─사이트 전체에서 참조하는 base.js js 파일
│ │ │ ├─...
│ │ ├─css 공용 CSS 디렉토리
│ │ │ ├─base.css 전체 사이트에서 참조하는 CSS 파일
│ │ │ ├─...
│ │ ├─이미지 공개 사진 디렉토리
│ │ ├─public_head.html 전체 사이트에 공통되는 공개 헤더
│ │ ├─public_foot.html 전체 사이트에 공통되는 공개 바닥글
│ │ ├─...  
│ ├─Home Front 홈 디렉토리 보기
│ │ ├─공개 프론트 데스크 공개 디렉토리 홈
│ │ │ ├─js home 아래에 호출되는 js 파일 디렉터리
│ │ │ ├─css 홈 아래에 호출되는 css 파일 디렉터리
│ │ │ ├─이미지 홈 아래에 호출되는 사진 파일 디렉터리
│ │ ├─인덱스 홈 파일 디렉터리
│ │ │ ├─index.html 홈페이지
│ │ │ ├─ ...
│ ├─관리자 홈과 동일
│ ├─홈과 동일한 사용자
├─공개 업로드 디렉터리 업로드
│ ├─images 업로드된 사진 디렉토리
│ │ ├─avatar 아바타 디렉토리
│ │ ├─ueditor ueditor 편집자가 업로드한 사진 디렉토리
│ │ │ ...
│ │ ...
├─런타임 캐시 디렉토리
├─ThinkPHP 프레임워크 시스템 디렉토리다른 디렉토리의 설계 원칙은 thinkphp의 디렉토리 구조 설계 경험 요약 http://baijunyao.com/article/60
을 참조하세요. html을 분리한 후 가장 직관적인 느낌은
입니다. 구조적으로 앞부분과 뒷부분은 더 독립적입니다.
그리고 우리는 아무 것도 동의하지 않습니다. 디렉토리를 변경하려면 디렉토리를 아주 자유롭게 변경하세요.
이러한 구조를 구현하는 것은 매우 간단합니다.
루트 디렉터리의 index.php 항목 파일에 TMPL_PATH를 정의하기만 하면 됩니다.
원래 코드는 이렇습니다;
<?php<br /> // +----------------------------------------------------------------------<br /> // | ThinkPHP [ WE CAN DO IT JUST THINK ]<br /> // +----------------------------------------------------------------------<br /> // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.<br /> // +----------------------------------------------------------------------<br /> // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )<br /> // +----------------------------------------------------------------------<br /> // | Author: liu21st <liu21st@gmail.com><br> // +----------------------------------------------------------------------<br> <br> // 应用入口文件<br> <br> // 检测PHP环境<br> if(version_compare(PHP_VERSION,'5.3.0','<&#039;)) die(&#039;require PHP > 5.3.0 !');<br> <br> // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false<br> define('APP_DEBUG',True);<br> <br> // 定义应用目录<br> define('APP_PATH','./Application/');<br> <br> // 引入ThinkPHP入口文件<br> require './ThinkPHP/ThinkPHP.php';<br> <br> // 亲^_^ 后面不需要任何代码了 就是如此简单 // +---------------------------------- --- ----------<code class="prettyprint linenums lang-php"><?php<br /> // +----------------------------------------------------------------------<br /> // | ThinkPHP [ WE CAN DO IT JUST THINK ]<br /> // +----------------------------------------------------------------------<br /> // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.<br /> // +----------------------------------------------------------------------<br /> // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )<br /> // +----------------------------------------------------------------------<br /> // | Author: liu21st <liu21st@gmail.com><br> // +----------------------------------------------------------------------<br> <br> // 应用入口文件<br> <br> // 检测PHP环境<br> if(version_compare(PHP_VERSION,'5.3.0','<&#039;)) die(&#039;require PHP > 5.3.0 !');<br> <br> // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false<br> define('APP_DEBUG',True);<br> <br> // 定义应用目录<br> define('APP_PATH','./Application/');<br> <br> // 定义缓存目录<br> define('RUNTIME_PATH','./Runtime/');<br> <br> // 定义模板文件默认目录<br> define("TMPL_PATH","./tpl/");<br> <br> // 引入ThinkPHP入口文件<br> require './ThinkPHP/ThinkPHP.php';<br> <br> // 亲^_^ 后面不需要任何代码了 就是如此简单 // | ThinkPHP [ 생각만 하면 할 수 있어요 ]
// +---------------------------------- --- ----------
// | 저작권 (c) 2006-2014 http://thinkphp.cn 모든 권리 보유.
// +---------------------------------- --- ----------
// | 라이선스 있음( http://www.apache.org/licenses/LICENSE-2.0 )
// +---------------------------------- --- ----------
// | 작성자: liu21st
// +---------------------------------- --- ----------

// 애플리케이션 엔트리 파일

//PHP 환경 감지
if(version_compare(PHP_VERSION,'5.3.0','<')) die('PHP > 5.3.0 필요 !'); <br> // 디버깅 모드를 켜는 것은 개발 단계에서 켜고 배포 단계에서 코멘트를 하거나 false로 설정하는 것이 좋습니다 정의('APP_DEBUG',True); // 애플리케이션 디렉토리 정의 정의('APP_PATH','./Application/'); //ThinkPHP 엔트리 파일 소개 './ThinkPHP/ThinkPHP.php'가 필요합니다. // 친애하는 ^_^ 뒤에 코드가 필요하지 않습니다. 너무 간단합니다수정된 코드는 다음과 같습니다.<?php // +---------------------------------- --- ---------- // | ThinkPHP [ 생각만 하면 할 수 있어요 ] // +---------------------------------- --- ---------- // | 저작권 (c) 2006-2014 http://thinkphp.cn 모든 권리 보유. // +---------------------------------- --- ---------- // | 라이센스 부여됨( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------- --- ---------- // | 작성자: liu21st <liu21st@gmail.com> // +---------------------------------- --- ---------- // 애플리케이션 엔트리 파일 //PHP 환경 감지 if(version_compare(PHP_VERSION,'5.3.0','<')) die('PHP > 5.3.0 필요 !'); // 디버깅 모드를 켜는 것은 개발 단계에서 켜고 배포 단계에서 코멘트를 하거나 false로 설정하는 것이 좋습니다 정의('APP_DEBUG',True); // 애플리케이션 디렉토리 정의 정의('APP_PATH','./Application/'); // 캐시 디렉토리 정의 정의('RUNTIME_PATH','./런타임/'); // 템플릿 파일의 기본 디렉터리를 정의합니다. 정의("TMPL_PATH","./tpl/"); //ThinkPHP 엔트리 파일 소개 './ThinkPHP/ThinkPHP.php'가 필요합니다. // 친애하는 ^_^ 뒤에 코드가 필요하지 않습니다. 이렇게 간단합니다. 주의 깊은 어린이라면 여기에 RUNTIME_PATH가 정의되어 있는 이유를 발견했을 것입니다. 하나 사면 하나 무료 그런데 캐시 파일 Runtime 폴더도 /Application에서 루트 디렉터리로 분리되어 있습니다. 프로젝트가 온라인일 때 디버깅 모드가 꺼져 있으면 여기에서 캐시 파일을 삭제하는 것이 편리합니다. 글쎄요, 제가 처녀자리라는 걸 인정합니다 저는 /Application이 단지 PHP 비즈니스 코드라는 점을 좋아합니다. 그냥 순수하고 깨끗한 느낌이 좋아요 모든 종류의 혼란을 거부하세요. 물론이죠. 하지만 우리는 더 잘할 수 있습니다 또한 /Application/Common/Conf/config.php 파일에서 일부 디렉터리를 정의해야 합니다. <?php<🎜>배열 반환(<br />     //'配置项'=>'配置值'<br>     'TMPL_PARSE_STRING'      => 배열(    // 정확히 사용하는 경로<br>         '__PUBLIC__'         => __ROOT__.'/공개',<br>         '__HOME_CSS__'       => __ROOT__.trim(TMPL_PATH,'.').'홈/공용/css',<br>         '__HOME_JS__'        => __ROOT__.trim(TMPL_PATH,'.').'홈/공용/js',<br>         '__HOME_IMAGES__'    => __ROOT__.trim(TMPL_PATH,'.').'홈/공용/이미지',<br>         '__ADMIN_CSS__'      => __ROOT__.trim(TMPL_PATH,'.').'관리자/공용/css',<br>         '__ADMIN_JS__'       => __ROOT__.trim(TMPL_PATH,'.').'관리자/공용/js',<br>         '__ADMIN_IMAGES__'   => __ROOT__.trim(TMPL_PATH,'.').'관리/공용/이미지',<br>         '__ADMIN_ACEADMIN__' => __ROOT__.trim(TMPL_PATH,'.').'관리자/공용/aceadmin',<br>         '__PUBLIC_CSS__'     => __ROOT__.trim(TMPL_PATH,'.').'공개/css',<br>         '__PUBLIC_JS__'      => __ROOT__.trim(TMPL_PATH,'.').'공개/js',<br>         '__PUBLIC_IMAGES__'  => __ROOT__.trim(TMPL_PATH,'.').'공개/이미지',<br>         '__USER_CSS__'       => __ROOT__.trim(TMPL_PATH,'.').'사용자/공개/css',<br>         '__USER_JS__'        => __ROOT__.trim(TMPL_PATH,'.').'사용자/공용/js',<br>         '__USER_IMAGES__'    => __ROOT__.trim(TMPL_PATH,'.').'사용자/공개/이미지',<br>         '__APP_CSS__'        => __ROOT__.trim(TMPL_PATH,'.').'앱/공용/css',<br>         '__APP_JS__'         => __ROOT__.trim(TMPL_PATH,'.').'App/Public/js',<br>         '__APP_IMAGES__'     => __ROOT__.trim(TMPL_PATH,'.').'앱/공용/이미지'<br>     ),<br> );<br> 然后以后재html中就使用这些路径了;<br> <!DOCTYPE html><br> <html><br> <br>     <meta charset="UTF-8"><br>     <title>白俊遥博客</title> <br>     <css file="__USER_CSS__/index.css" /><br> </머리><br> <br> <br> <js file="__USER_JS__/index.js" /><br> </본문><br> </html>白俊遥博客 http://baijunyao.com/article/90

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿