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><br>
// +---------------------------------------------- --- ----------------------------------<br>
<br>
// アプリケーションエントリーファイル<br>
<br>
// PHP環境を検出<br>
if(version_compare(PHP_VERSION,'5.3.0',' 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 <liu21st><br>
// +---------------------------------------------- --- ----------------------------------<br>
<br>
// アプリケーションエントリーファイル<br>
<br>
// PHP環境を検出<br>
if(version_compare(PHP_VERSION,'5.3.0',' 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 内でこれらのパスを使用します;

了解Python编程的入门级代码示例Python是一种简单易学,功能强大的编程语言。对于初学者来说,了解Python编程的入门级代码示例是非常重要的。本文将为您提供一些具体的代码示例,帮助您快速入门。打印HelloWorldprint("HelloWorld")这是Python中最简单的代码示例。print()函数用于将指定的内容输出

PHP变量存储程序运行期间的值,对于构建动态且交互式的WEB应用程序至关重要。本文将深入探讨php变量,并通过10个真实的示例展示它们的实际应用。1.存储用户输入$username=$_POST["username"];$passWord=$_POST["password"];此示例从表单提交中提取用户名和密码,并将其存储在变量中以供进一步处理。2.设置配置值$database_host="localhost";$database_username="username";$database_pa

标题:从入门到精通:Go语言中常用数据结构的代码实现数据结构在编程中起着至关重要的作用,它是程序设计的基础。在Go语言中,有许多常用的数据结构,掌握这些数据结构的实现方式对于成为一名优秀的程序员至关重要。本文将介绍Go语言中常用的数据结构,并给出相应的代码示例,帮助读者从入门到精通这些数据结构。1.数组(Array)数组是一种基本的数据结构,是一组相同类型

Java冒泡排序最简单的代码示例冒泡排序是一种常见的排序算法,它的基本思想是通过相邻元素的比较和交换来将待排序序列逐步调整为有序序列。下面是一个简单的Java代码示例,演示了如何实现冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

《Go语言编程实例:Web开发中的代码示例》随着互联网的快速发展,Web开发已经成为各行业中必不可少的一部分。作为一门功能强大且性能优越的编程语言,Go语言在Web开发中越来越受到开发者们的青睐。本文将通过具体的代码示例,介绍如何利用Go语言进行Web开发,让读者能够更好地理解和运用Go语言来构建自己的Web应用。1.简单的HTTP服务器首先,让我们从一个

如何使用PHP编写库存管理系统中的库存分仓管理功能代码库存管理是许多企业中不可或缺的一部分。对于拥有多个仓库的企业来说,库存分仓管理功能尤为重要。通过合理管理和跟踪库存,企业可以实现不同仓库之间的库存调拨,优化运营成本,改善协同效率。本文将介绍如何使用PHP编写库存分仓管理功能的代码,并为您提供相关的代码示例。一、建立数据库在开始编写库存分仓管理功能的代码之

Java选择排序法代码编写指南及示例选择排序是一种简单直观的排序算法,其思想是每次从未排序的元素中选择最小(或最大)的元素进行交换,直到所有元素排序完成。本文将提供选择排序的代码编写指南,并附上具体的Java示例代码。算法原理选择排序的基本原理是将待排序数组分为已排序和未排序两部分,每次从未排序部分选择最小(或最大)的元素,将其放到已排序部分的末尾。重复上述

华为云边缘计算对接指南:Java代码示例快速实现接口随着物联网技术的快速发展和边缘计算的兴起,越来越多的企业开始关注边缘计算的应用。华为云提供了边缘计算服务,为企业提供了高可靠的计算资源和便捷的开发环境,使得边缘计算应用更加容易实现。本文将介绍如何通过Java代码快速实现华为云边缘计算的接口。首先,我们需要准备好开发环境。确保你已经安装了Java开发工具包(


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック



