thinkphp trennt die Vorlagendateiansicht
Die Standardansichten von thinkphp befinden sich unter jedem Modul von /Application;
Ressourcendateien wie CSS und JS werden im Verzeichnis /Public
abgelegt
Es sieht ungefähr so aus;
thinkphp
├─Logisches Verzeichnis des Anwendungsprojekts├─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 框架系统目录
│ ├─Gemeinsames öffentliches Modul
│ │ ├─...
│ ├─Home Home-Modul
│ │ ├─Controller HomeController-Verzeichnis
│ │ ├─...
│ │ ├─Verzeichnis unter dem View Home-Modul
anzeigen
│ │ │ ├─Index
│ │ │ │ ├─index.html
│ │ │ │ ├─...
│ │ │ ├─Tag
│ │ │ │ ├─index.html
│ │ │ │ ├─add.html<br>
│ │ │ │ ├─edit.html<br>
│ │ │ │ ├─...<br>
│ ├─Admin Admin-Modul<br>
│ │ ├─Controller-Admin-Controller-Verzeichnis<br>
│ │ ├─...<br>
│ │ ├─View Das Ansichtsverzeichnis unter dem Admin-Modul <br>
│ │ │ ├─Index<br>
│ │ │ │ ├─index.html<br>
│ │ │ │ ├─...<br>
│ │ │ ├─Artikel<br>
│ │ │ │ ├─index.html
│ │ │ │ ├─add.html
│ │ │ │ ├─edit.html
│ │ │ │ ├─...
│ ├─...
├─Öffentliches Ressourcendateiverzeichnis
│ ├─Home Front Home View Directory
│ │ ├─Öffentlich Das öffentliche Verzeichnis der Startseite der Rezeption
│ │ │ ├─js-Dateiverzeichnis namens js home
│ │ │ ├─CSS-Dateiverzeichnis unter CSS-Home aufgerufen
│ │ │ ├─Bilddateiverzeichnis, aufgerufen unter Bilder-Home
│ ├─Admin Front Desk Home Verzeichnis anzeigen
│ │ ├─Öffentlich Das öffentliche Verzeichnis der Startseite der Rezeption
│ │ │ ├─js-Dateiverzeichnis namens js home
│ │ │ ├─CSS-Dateiverzeichnis unter CSS-Home aufgerufen
│ │ │ ├─Bilddateiverzeichnis, aufgerufen unter Bilder-Home
│ ├─...
├─ThinkPHP-Framework-Systemverzeichnis
Aber in der tatsächlichen Entwicklung;
Die Aufteilung des View-Verzeichnisses auf verschiedene Module hat viele Nachteile
Erstens ist die Entwicklung mehrerer Themensätze ziemlich mühsam und verwirrend
Darüber hinaus ist die Verwendung von Front-End-Tools wie gulp sehr umständlich
Was wir wollen, ist ein Verzeichnis voller Originalcode
Ein anderes Verzeichnis ist voll mit komprimiertem HTML, JS, CSS usw.;
Burning Goose; So ein kleiner Wunsch angesichts einer solchen Verzeichnisstruktur;
Mein Gesichtsausdruck ist schwarzes Fragezeichen.jpg ;
Deshalb habe ich alle Vorlagendateien, JS, CSS usw. getrennt und im Stammverzeichnis abgelegt
Ich bin hier faul; ich habe gerade die Verzeichnisstruktur mitgebracht, die ich zuvor geschrieben habe;
├─Logisches Verzeichnis des Anwendungsprojekts
│ ├─Gemeinsames öffentliches Modul
│ │ ├─Gemeinsames öffentliches Funktionsverzeichnis
│ │ │ ├─functioin.php öffentliche Funktions-PHP-Datei
│ │ ├─Conf Öffentliches Konfigurationsdateiverzeichnis
│ │ │ ├─config.php tp-Konfiguration wird verwendet, um die Standardkonfigurationselemente des Frameworks zu überschreiben
│ │ │ ├─db.php Datenbankkonfiguration Benutzername Passwort usw.
│ │ │ ├─webconfig.php Projekt-Website-Name; ob die Website geöffnet werden soll usw.
│ │ ├─Controller Öffentliches Controller-Verzeichnis
│ │ │ ├─BaseController.class.php wendet den grundlegendsten Controller an │ │ │ ├─HomeBaseController.class.php Home Base Controller erbt BaseController
│ │ │ ├─AdminBaseController.class.php Admin-Basiscontroller erbt BaseController
│ │ │ ├─UserBaseController.class.php Benutzerbasiscontroller erbt BaseController
│ │ │ ├─...
│ │ ├─Modell Öffentliches Modellverzeichnis
│ │ │ ├─BaseModel.class.php Wenden Sie das grundlegendste Modell an
│ │ │ ├─ArticleModel.class.php Artikelmodell erbt BaseModel
│ │ │ ├─UserModel.class.php Benutzermodell erbt BaseModel
│ │ │ ├─...
│ │ ├─Tag Öffentliches Tag-Verzeichnis
│ │ │ ├─My.class.php Benutzerdefinierte Tag-Bibliothek
│ │ │ ├─...
│ ├─Home Home-Modul
│ │ ├─Controller Home-Controller-Verzeichnis erbt HomeBaseController
│ │ │ ├─ArticleController.class.php Artikel-Controller-Verzeichnis
│ │ │ ├─IndexController.class.php Home Controller
│ │ │ ├─...
│ ├─Admin Admin-Modul
│ │ ├─Controller Admin-Controller-Verzeichnis erbt AdminBaseController
│ │ │ ├─IndexController.class.php Backend-Management-Homepage-Controller
│ │ │ ├─...
│ ├─Benutzer-Benutzermodul
│ │ ├─Controller Benutzer-Controller-Verzeichnis erbt UserBaseController
│ │ │ ├─IndexController.class.php Benutzer-Personalcenter-Homepage-Controller
│ │ │ ├─...
├─Öffentliches Ressourcendateiverzeichnis
│ ├─install Installations-Bootverzeichnis
│ ├─statics Statisches Ressourcenverzeichnis
│ │ ├─Bootstrap-Bootstrap-Framework
│ │ ├─ueditor ueditor
│ │ ├─js Das Verzeichnis, in dem Js von Drittanbietern wie jquery gespeichert sind
│ │ ├─css animate.css und andere CSS-Verzeichnisse von Drittanbietern
│ │ ├─ ...
├─tpl Dateiverzeichnis anzeigen
│ ├─Öffentlich Öffentliches Verzeichnis
│ │ ├─js Öffentliches js-Verzeichnis
│ │ │ ├─base.js js-Datei, auf die die gesamte Website verweist
│ │ │ ├─...
│ │ ├─css Öffentliches CSS-Verzeichnis
│ │ │ ├─base.css CSS-Datei, auf die die gesamte Website verweist
│ │ │ ├─...
│ │ ├─Bilder Öffentliches Bildverzeichnis
│ │ ├─public_head.html Öffentlicher Header, der für die gesamte Website gilt
│ │ ├─public_foot.html Öffentliche Fußzeile, die für die gesamte Website gilt
│ │ ├─...
│ ├─Home Front Home View Directory
│ │ ├─Öffentlich Das öffentliche Verzeichnis der Startseite der Rezeption
│ │ │ ├─js-Dateiverzeichnis namens js home
│ │ │ ├─CSS-Dateiverzeichnis unter CSS-Home aufgerufen
│ │ │ ├─Bilddateiverzeichnis, aufgerufen unter Bilder-Home
│ │ ├─Index Home-Dateiverzeichnis
│ │ │ ├─index.html Startseite
│ │ │ ├─ ...
│ ├─Admin Wie Home
│ ├─Benutzer wie Zuhause
├─Öffentliches Upload-Verzeichnis hochladen
│ ├─Bilder Hochgeladenes Bilderverzeichnis
│ │ ├─Avatar-Avatar-Verzeichnis
│ │ ├─ueditor-Bildverzeichnis, hochgeladen vom ueditor-Editor
│ │ │ ...
│ │ ...
├─Laufzeit-Cache-Verzeichnis
├─ThinkPHP Framework System DirectoryInformationen zu den Designprinzipien anderer Verzeichnisse finden Sie in der Zusammenfassung der Erfahrungen mit der Verzeichnisstruktur von thinkphp unter http://baijunyao.com/article/60
Nachdem wir HTML getrennt haben, ist das intuitivste Gefühl:
Strukturell sind das vordere und hintere Ende unabhängiger; früher war es ein Sammelsurium
Und wir sind uns in nichts einig; wenn Sie das Verzeichnis ändern möchten, ändern Sie das Verzeichnis ganz kostenlos;
Es ist sehr einfach, eine solche Struktur zu implementieren
Sie müssen lediglich TMPL_PATH in der Eintragsdatei index.php im Stammverzeichnis
definieren
Der Originalcode sieht so aus:
//------------------------------------------------ ---------
// |. ThinkPHP [ WIR KÖNNEN ES NUR DENKEN ]<?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','<')) die('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','<')) die('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>
// 亲^_^ 后面不需要任何代码了 就是如此简单
// |. Copyright (c) 2006-2014 http://thinkphp.cn Alle Rechte vorbehalten.
//------------------------------------------------ ---------
// |. Lizenziert ( http://www.apache.org/licenses/LICENSE-2.0 )
//------------------------------------------------ ---------
// |. Autor: liu21st
//------------------------------------------------ ---------
// Anwendungseintragsdatei
//PHP-Umgebung erkennen
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// Debugging-Modus aktivieren. Es wird empfohlen, ihn während der Entwicklungsphase zu aktivieren und die Bereitstellungsphase zu kommentieren oder ihn auf „false“ zu setzen
define('APP_DEBUG',True);<br>
// Anwendungsverzeichnis definieren
define('APP_PATH','./Application/');
//ThinkPHP-Eintragsdatei einführen
erfordern './ThinkPHP/ThinkPHP.php';
//Lieber^_^ Du brauchst keinen Code dahinter, so einfach ist dasDer geänderte Code sieht so aus:<?php
//------------------------------------------------ ---------
// |. ThinkPHP [ WIR KÖNNEN ES NUR DENKEN ]
//------------------------------------------------ ---------
// |. Copyright (c) 2006-2014 http://thinkphp.cn Alle Rechte vorbehalten.
//------------------------------------------------ ---------
// |. Lizenziert ( http://www.apache.org/licenses/LICENSE-2.0 )
//------------------------------------------------ ---------
// |. Autor: liu21st <liu21st@gmail.com>
//------------------------------------------------ ---------
// Anwendungseintragsdatei
//PHP-Umgebung erkennen
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// Debugging-Modus aktivieren. Es wird empfohlen, ihn während der Entwicklungsphase zu aktivieren und die Bereitstellungsphase zu kommentieren oder ihn auf „false“ zu setzen
define('APP_DEBUG',True);
// Anwendungsverzeichnis definieren
define('APP_PATH','./Application/');
// Cache-Verzeichnis definieren
define('RUNTIME_PATH','./Runtime/');
// Definieren Sie das Standardverzeichnis für Vorlagendateien
define("TMPL_PATH","./tpl/");
//ThinkPHP-Eintragsdatei einführen
erfordern './ThinkPHP/ThinkPHP.php';
// Lieber ^_^ Du brauchst keinen Code dahinter, so einfach ist das Aufmerksame Kinder haben es vielleicht entdeckt; warum ist hier ein RUNTIME_PATH definiert?
Kaufen Sie eins und erhalten Sie eines gratis;
Übrigens ist der Runtime-Ordner der Cache-Datei auch vom Stammverzeichnis getrennt
Wenn das Projekt online ist, ist es praktisch, Cache-Dateien hier zu löschen
Nun gut; ich gebe zu, dass ich eine Jungfrau bin;
Mir gefällt einfach, dass /Application nur PHP-Geschäftscode ist
Ich mag einfach das reine und saubere Gefühl;
Lehnen Sie alle Arten von Verwirrung ab
Natürlich; es ist hier;
Aber wir können es besser machen
Sie müssen auch einige Verzeichnisse in der Datei /Application/Common/Conf/config.php <?php<🎜> definierenreturn array(<br />
//'配置项'=>'配置值'<br>
'TMPL_PARSE_STRING' => array( // 定义常用路径<br>
'__PUBLIC__' => __ROOT__.'/Public',<br>
'__HOME_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'Home/Public/css',<br>
'__HOME_JS__' => __ROOT__.trim(TMPL_PATH,'.').'Home/Public/js',<br>
'__HOME_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'Home/Public/images',<br>
'__ADMIN_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/css',<br>
'__ADMIN_JS__' => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/js',<br>
'__ADMIN_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/images',<br>
'__ADMIN_ACEADMIN__' => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/aceadmin',<br>
'__PUBLIC_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'Public/css',<br>
'__PUBLIC_JS__' => __ROOT__.trim(TMPL_PATH,'.').'Public/js',<br>
'__PUBLIC_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'Public/images',<br>
'__USER_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'User/Public/css',<br>
'__USER_JS__' => __ROOT__.trim(TMPL_PATH,'.').'User/Public/js',<br>
'__USER_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'User/Public/images',<br>
'__APP_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'App/Public/css',<br>
'__APP_JS__' => __ROOT__.trim(TMPL_PATH,'.').'App/Public/js',<br>
'__APP_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'App/Public/images'<br>
),<br>
);<br>
然后以后在html中就使用这些路径了;<br>
<!DOCTYPE html><br>
<html><br>
<Kopf><br>
<meta charset="UTF-8"><br>
<title>白俊遥博客</title><br>
<css file="__USER_CSS__/index.css" /><br>
</head><br>
<body><br>
<br>
<js file="__USER_JS__/index.js" /><br>
</body><br>
</html>
白俊遥博客 http://baijunyao.com/article/90