ホームページ > php教程 > php手册 > thinkphp はテンプレート ファイルを分離します。

thinkphp はテンプレート ファイルを分離します。

WBOY
リリース: 2016-10-17 09:12:11
オリジナル
1229 人が閲覧しました

thinkphp がテンプレート ファイルを分離します View
thinkphp のデフォルトのビューは /Application の各モジュールの下にあります;
css や js などのリソース ファイルは /Public ディレクトリに配置されます。 ざっくりこんな感じです
thinkphp
§─アプリケーションプロジェクトの論理ディレクトリ │ §─共通公開モジュール<br> │ │ §─...<br> │ §─Home ホームモジュール<br> │ │ §─Controller Home コントローラーディレクトリ<br> │ │ §─...<br> │ │ §─View Home モジュール下の View ディレクトリ<br> │ │ │ §─目次<br> │ │ │ │ §─index.html<br> │ │ │ │ §─…<br> │ │ │ §─タグ<br> │ │ │ │ §─index.html<br> │ │ │ │ §─add.html<br> │ │ │ │ §─edit.html<br> │ │ │ │ §─...<br> │ §─Admin 管理モジュール<br> │ │ §─Controller 管理コントローラディレクトリ<br> │ │ §─...<br> │ │ §─View Admin モジュール配下の view ディレクトリ<br> │ │ │ §─目次<br> │ │ │ │ §─index.html<br> │ │ │ │ §─...<br> │ │ │ §─記事<br> │ │ │ │ §─index.html<br> │ │ │ │ §─add.html<br> │ │ │ │ §─edit.html<br> │ │ │ │ §─…<br> │ §─…<br> §─公開リソースファイルディレクトリ<br> │ §─ホームフロントホームビューディレクトリ <br> │ │ §─Public フロントデスクの公開ディレクトリ ホーム<br> │ │ │ §─js home 配下に呼び出される js ファイルディレクトリ<br> │ │ │ §─css ホーム配下に呼び出される css ファイルディレクトリ<br> │ │ │ §─画像ホームの下にある画像ファイルディレクトリ <br> │ §─管理フロントデスクのホームビューディレクトリ <br> │ │ §─Public フロントデスクの公開ディレクトリ ホーム<br> │ │ │ §─js home 配下に呼び出される js ファイルディレクトリ<br> │ │ │ §─css ホーム配下に呼び出される css ファイルディレクトリ<br> │ │ │ §─画像ホームの下にある画像ファイルディレクトリ <br> │ §─…<br> §─ThinkPHP フレームワーク システム ディレクトリ<br>ただし、実際の開発では; View ディレクトリをさまざまなモジュールに分散させることには多くの欠点があります;
まず第一に、複数のテーマを開発するのは非常に面倒で混乱します
; さらに、gulp などのフロントエンドツールを使用するのは非常に不便です;
私たちが必要とするのは、オリジナルのコードが詰まったディレクトリです。
別のディレクトリには圧縮された html、js、css などがいっぱいです;
Burning Goose のようなディレクトリ構造に直面したときの小さな願いです。 私の表情は黒い疑問符です.jpg;

したがって、すべてのテンプレート ファイル、js、css などを分離し、ルート ディレクトリの /tpl に配置しました。 ここでは、以前に書いた
thinkphp-bjyadmin のディレクトリ構造をそのまま引用しました。 §─アプリケーションプロジェクトの論理ディレクトリ
│ §─共通公開モジュール
│ │ §─共通パブリック機能ディレクトリ │ │ │ §─functioin.php 公開関数 php ファイル<br> │ │ §─Conf 公開設定ファイルディレクトリ<br> │ │ │ §─config.php tp 設定は、フレームワークのデフォルト設定項目をオーバーライドするために使用されます<br> │ │ │ §─db.php データベース構成 ユーザー名 パスワード等 <br> │ │ │ §─webconfig.php プロジェクトの Web サイト名、Web サイトを開くかどうかなど。 │ │ §─コントローラー パブリック コントローラー ディレクトリ <br> │ │ │ §─BaseController.class.php は最も基本的なコントローラーを適用します<br>│ │ │ §─HomeBaseController.class.php ホームベースコントローラーはBaseControllerを継承<br> │ │ │ §─AdminBaseController.class.php 管理ベースコントローラーはBaseControllerを継承<br> │ │ │ §─UserBaseController.class.php ユーザーベースコントローラーはBaseControllerを継承<br> │ │ │ §─…<br> │ │ §─Model 公開モデルディレクトリ<br> │ │ │ §─BaseModel.class.php 最も基本的なモデルを適用します<br> │ │ │ §─ArticleModel.class.php 記事モデル BaseModel を継承<br> │ │ │ §─UserModel.class.php ユーザーモデルはBaseModelを継承<br> │ │ │ §─…<br> │ │ §─タグパブリックタグディレクトリ<br> │ │ │ §─My.class.php カスタムタグライブラリ<br> │ │ │ §─…<br> │ §─Home ホームモジュール<br> │ │ §─Controller ホームコントローラーディレクトリ HomeBaseController を継承<br> │ │ │ §─ArticleController.class.php アーティクルコントローラディレクトリ <br> │ │ │ §─IndexController.class.php ホームコントローラー<br> │ │ │ §─... <br> │ §─Admin 管理モジュール<br> │ │ §─Controller 管理コントローラディレクトリ AdminBaseController を継承<br> │ │ │ §─IndexController.class.php バックエンド管理ホームページコントローラー<br> │ │ │ §─... <br> │ §─User ユーザーモジュール<br> │ │ §─Controller ユーザーコントローラーディレクトリ UserBaseController を継承<br> │ │ │ §─IndexController.class.php ユーザー パーソナル センター ホームページ コントローラー <br> │ │ │ §─... <br> §─公開リソースファイルディレクトリ<br> │ §─install インストールブートディレクトリ<br> │ §─statics 静的リソースディレクトリ<br> │ │ §─bootstrap ブートストラップフレームワーク<br> │ │ §─ueditor ueditor エディター<br> │ │ §─js jqueryなどのサードパーティjsが格納されるディレクトリ<br> │ │ §─css animate.css およびその他のサードパーティ CSS ディレクトリ<br> │ │ §─... <br> §─tpl ビュー ファイル ディレクトリ<br> │ §─公共公開名鑑<br> │ │ §─js 公開 js ディレクトリ<br> │ │ │ §─base.js サイト全体で参照されるjsファイル<br> │ │ │ §─... <br> │ │ §─css パブリック css ディレクトリ<br> │ │ │ §─base.css サイト全体で参照される CSS ファイル <br> │ │ │ §─... <br> │ │ §─画像パブリック画像ディレクトリ <br> │ │ §─public_head.html サイト全体共通のパブリックヘッダー<br> │ │ §─public_foot.html サイト全体共通のパブリックフッター<br> │ │ §─... <br> │ §─ホームフロントホームビューディレクトリ <br> │ │ §─Public フロントデスクの公開ディレクトリ ホーム<br> │ │ │ §─js home 配下に呼び出される js ファイルディレクトリ<br> │ │ │ §─css ホーム配下に呼び出される css ファイルディレクトリ<br> │ │ │ §─画像ホームの下にある画像ファイルディレクトリ<br> │ │ §─インデックスホームファイルディレクトリ<br> │ │ │ §─index.html ホームページ <br> │ │ │ §─ ...<br> │ §─管理人 ホームと同じ<br> │ §─ユーザーはホームと同じ<br> §─アップロード 公開アップロードディレクトリ<br>│ §─画像 アップロードした画像ディレクトリ<br> │ │ §─アバター アバターディレクトリ<br> │ │ §─ueditor ueditor 編集者がアップロードした画像ディレクトリ<br> │ │ │ ...<br> │ │ ...<br> §─ランタイムキャッシュディレクトリ<br> §─ThinkPHP フレームワーク システム ディレクトリ 他のディレクトリの設計原則は、thinkphp のディレクトリ構造設計経験の概要 http://baijunyao.com/article/60
で確認できます。 HTML を分離した後、最も直感的に感じられるのは次のとおりです。 構造的には、フロントエンドとバックエンドはより独立しています。 ディレクトリを変更したい場合は、まったく自由に変更できます。
このような構造を実装するのは非常に簡単です;
ルートディレクトリのエントリファイルindex.phpファイルにTMPL_PATHを定義するだけです。 元のコードは次のとおりです;
// +---------------------------------------------- --- ----------------------------------
// | ThinkPHP [考えるだけでできる]
// +---------------------------------------------- --- ---------------------------------- // | 著作権 (c) 2006-2014 http://thinkphp.cn 無断複写・転載を禁じます<br /> // +---------------------------------------------- --- ----------------------------------<br /> // | ライセンス済み ( http://www.apache.org/licenses/LICENSE-2.0 )<br /> // +---------------------------------------------- --- ----------------------------------<br /> // | 作成者: 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 に設定することをお勧めします。 定義('APP_DEBUG',True);<br /> <br /> // アプリケーションディレクトリを定義します<br /> 定義('APP_PATH','./アプリケーション/');<br /> <br /> //ThinkPHPエントリーファイルを導入します<br /> './ThinkPHP/ThinkPHP.php' が必要です;<br /> <br /> // 親愛なる ^_^ 修正されたコードは次のようなものです。 // +---------------------------------------------- --- ----------------------------------<br /> // | ThinkPHP [考えるだけでできる]<br /> // +---------------------------------------------- --- ----------------------------------<br /> // | 著作権 (c) 2006-2014 http://thinkphp.cn 無断複写・転載を禁じます<br /> // +---------------------------------------------- --- ----------------------------------<br /> // | ライセンス済み ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------- --- ---------------------------------- // | 作成者: 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 に設定することをお勧めします。 定義('APP_DEBUG',True);<br /> <br /> // アプリケーションディレクトリを定義します<br /> 定義('APP_PATH','./アプリケーション/');<br /> <br /> // キャッシュディレクトリを定義します<br /> 定義('RUNTIME_PATH','./ランタイム/');<br /> <br /> // テンプレート ファイルのデフォルト ディレクトリを定義します<br /> 定義("TMPL_PATH","./tpl/");<br /> <br /> //ThinkPHPエントリーファイルを導入します<br /> './ThinkPHP/ThinkPHP.php' が必要です;<br /> <br /> // 親愛なる ^_^ 背後にコードは必要ありません。注意深いお子様なら、なぜここで RUNTIME_PATH が定義されているのかがわかるでしょう。 <br /> 1 つ購入すると 1 つ無料 <br /> ちなみに、キャッシュ ファイル Runtime フォルダーも /Application からルート ディレクトリに分離されます。 プロジェクトがオンラインの場合、ここでキャッシュ ファイルを削除すると便利です。 <br /> まあ、私は乙女座であることを認めます。 /Application が単なる PHP ビジネス コードであることが気に入っています;<br /> 純粋で清潔な感じが好きです<br /> あらゆる種類の混乱を拒否してください;<br /> <br /> もちろん、ここで終わりです。 しかし、私たちはもっと良くできるはずです;<br /> /Application/Common/Conf/config.php ファイル <br /><?php にいくつかのディレクトリを定義する必要もあります。配列を返します(
    //'配置项'=>'配置值'
    'TMPL_PARSE_STRING' => array( // 定义常用回線
        '__PUBLIC__' => __ROOT__.'/パブリック',
        '__HOME_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'Home/Public/css',
        '__HOME_JS__' => __ROOT__.trim(TMPL_PATH,'.').'Home/Public/js',
        '__HOME_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'ホーム/パブリック/画像',
        '__ADMIN_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/css',
        '__ADMIN_JS__' => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/js',
        「__ADMIN_IMAGES__」 => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/images',
        '__ADMIN_ACEADMIN__' => __ROOT__.trim(TMPL_PATH,'.').'Admin/Public/aceadmin',
        '__PUBLIC_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'Public/css',
        '__PUBLIC_JS__' => __ROOT__.trim(TMPL_PATH,'.').'Public/js',
        '__PUBLIC_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'パブリック/画像',
        '__USER_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'ユーザー/パブリック/css',
        '__USER_JS__' => __ROOT__.trim(TMPL_PATH,'.').'ユーザー/パブリック/js',
        '__USER_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'ユーザー/パブリック/イメージ',
        '__APP_CSS__' => __ROOT__.trim(TMPL_PATH,'.').'App/Public/css',
        '__APP_JS__' => __ROOT__.trim(TMPL_PATH,'.').'App/Public/js',
        '__APP_IMAGES__' => __ROOT__.trim(TMPL_PATH,'.').'App/Public/images'
    )、
);
その後、HTML 内でこれらのパスを使用します;


<頭>
    
    白俊遥博客
    






白俊遥博客 http://baijunyao.com/article/90

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート