phpのディレクトリ構造

WBOY
WBOYオリジナル
2016-06-23 13:12:311273ブラウズ

phpcms v9 フレームワークのディレクトリ構造解析

phpcms v9 フレームワークのディレクトリ構造分析:

v9 フレームワークのディレクトリ構造を理解すると、v9 フレームワークの全体的な理解を迅速に確立するのに役立ちます

「mycms」プロジェクトを開くと、次のファイルとディレクトリがあります

使用方法契約文書と英語版のユーザーマニュアル、これら 2 つの項目はプロジェクトには必要ないため、一時的に削除できます

|-----API インターフェイス ファイル ディレクトリ
|-----キャッシュ キャッシュ ファイル ディレクトリ
|- - ---configs システム設定ファイルのディレクトリ |-----database.php データベース設定ファイル
|------route.php ルーティング設定ファイル
|-----system.php システム設定ファイル
| - ----cache.php キャッシュ設定ファイル
|-----configs_* システムキャッシュファイルディレクトリ
|------configs_commons/caches_data 主にバックグラウンド設定の設定情報を保存するために使用されます
|---- -category_content .cache.php 列とサイト マッピングに対応する設定ファイル |-----category_content_1.cache.php サイト 1 のすべての列の詳細な設定情報
|-----category_item_1.cache.php 各列記事モデルの各列に対応するデータ量 |-----category_item_2.cache.php ダウンロードモデルの各列に対応するデータ量
|-----category_item_3.cache.php画像モデルの下の各列に対応するデータ ----- keylink.cache.php 関連リンク設定キャッシュ ファイル ----- Model.cache.php 3 つのモデル設定キャッシュ ファイル ----- Position.cache.php 推奨ビット構成キャッシュ ファイル
---- Poster_template_1.cache.php 広告ピッチ キャッシュ ファイル
| -------------------------------------------- 設定ファイル。主にキャッシュされます。全サイトの基本構成情報 |-----type_content.cache.php 複数サイト下のカテゴリ構成情報
|-----type_content_1.cache.php 現在のサイト下のカテゴリ構成情報キャッシュ ファイル
URLルール構成情報キャッシュファイル URL ルール構成情報キャッシュ ファイル URL ルール構成情報. -----content_form.class.php フォーム |-----content_input.class.php クラス ライブラリを生成するクラス ライブラリ キャッシュ ファイル。データベース入力時にフォームデータを検証するキャッシュファイル
|-----content_output .class.php データテーブルからクエリしたデータを処理する関数
|-----content_update.class.php 正当性を検証する関数更新するデータの
|-----model_field_1.cache .php 記事モデルの全モデルフィールドのキャッシュ情報
|-----model_field_2.cache.php モデルの全モデルフィールドのキャッシュ情報をダウンロード
|-----model_field_3.cache.php 画像モデルの全モデルフィールドのキャッシュ情報



|----------phpcms phpcms フレームワークメインディレクトリ
|----- languages フレームワーク言語パックディレクトリ
|--- --libs フレームワークのメインクラスライブラリ、メイン関数ライブラリのディレクトリ. |------添付ファイル.class.php 添付ファイル処理クラス ライブラリ ファイル
|-----param.class.php URL パラメーター処理クラス ライブラリ ファイル
URLパラメータ処理モデルusing using using using using out out out out out out out of out of php 添付モデル ファイル
|-----modules Frameworkモジュールディレクトリ
|----- -admin 管理モジュール
|-----index.phpindex.php コントローラー ファイル
|-----コンテンツ コンテンツ モジュール-| ----- クラス コンテンツ モジュール ユニバーサル ライブラリ
| フィールド コンテンツ モジュールモデルフィールド| ----関数コンテンツモジュールユニバーサル機能ライブラリ|。 - category.html チャンネル ページ テンプレート ファイル
| list.html リスト ページ テンプレート ファイル
|- ----config.php テンプレート設定ファイル
|-----phpsso_server phpssoメインディレクトリ
|-----statics Webサイト素材ファイルディレクトリ
|-----css css 添付ファイルのアップロード
|-----admin.php バックステージ エントリー ファイル
|-----index.phpエントリ ファイル




phpcms v9 の URL ルーティング ルール:


ブラウザに http://www.mycms.com/index.php?m と入力します ... ;a=list&catid=1 Enter キーを押すと、デフォルトで
phpcms フレームワークのメイン ディレクトリが見つかります
|--- --modules モジュールディレクトリ
|-----content コンテンツモジュール
|-----index.php Index.php コントローラーの list メソッドでリストページを表示します


そうですか? Index.php コントローラー ファイルを開き、index メソッドにコードを追加し、出力を実行して、それが期待どおりであることを証明します

ブラウザ内の URL は次のように要約できます:
http://ドメイン名/entry file? m=モジュール名&c=コントローラ&a=メソッド名&catid=パラメータ値


ブラウザにパラメータを指定せずに http://www.myshop.com/index.php と入力し、Enter キーを押すと、デフォルトのこの状況下ではホームページが表示されます

これは、phpcms v9 がデフォルトの実行モジュール、コントローラ、およびメソッドを指定しているためです

デフォルトのコントローラ設定は、「caches/configs/routes.php」構成ファイルで設定されます。デフォルトのコントローラーをリセットできます

6. 列の追加

1. PC 設計者は、列の詳細ページのデータはモデルに属している必要があると考えているため、列を追加するときは、列のモデルを指定する必要があります。選択するモデルは、すべて列詳細ページに表示されるコンテンツの種類によって異なります
詳細ページ: 記事情報コンテンツ 記事モデル
詳細ページ: 画像情報 画像モデル
詳細ページ: ダウンロードするもの ダウンロード モデル
詳細ページ:ビデオを再生する ビデオ モデル

2. 上記のモデルがプロジェクトのニーズを満たせない場合は、通常、Web サイトは複数のモデルからのデータで構成されます

3. 列の追加オプション:

name: Web サイトが静的である場合、このディレクトリ名でディレクトリを作成し、現在の列の下に関連するテンプレート ファイルを保存します

4. PC の設計者は、各列が現在選択されている 3 つのテンプレート ファイルに対応すると考えています。 :

チャンネル ページ テンプレート ファイル

リスト ページ テンプレート ファイル

コンテンツ ページ テンプレート ファイル


これらのテンプレート ファイルの場所: phpcms/templates/default/content/ ディレクトリ テンプレート ファイルを変更する場合は、必要なだけです。このディレクトリで対応するテンプレート ファイルを見つけて変更するだけです

チャンネル ページ: category_*.html
リスト ページ: list_*.html
コンテンツ ページ: show_*.html

この時点で、各列の 3 ページが完成しましたテンプレート ファイルは相互に対応しています

注: チャネル ページの表示は条件付きです (現在の列にはサブ列が必要です)


5. 列が正常に追加されると、列情報は v9_category データ テーブルに保存され、phpcms/caches/caches_common/category_content.cache.php ファイルにもキャッシュされます。このキャッシュ ファイルは非常に重要なので、十分な注意を払う必要があります。フロントデスク このキャッシュ ファイルから多くのデータが直接取得されます


7. プロジェクトの展開:

1. マテリアル ファイル:

statics
|-----images
|----- cmsimages プロジェクト 画像ファイル
|-----js
|-----cmsjs プロジェクト js ファイル
|-----css
|------cmscss プロジェクト css ファイル

phpcms
|-- --- テンプレート-| ----- 新しい新しいテンプレート スタイル
| コンテンツ コンテンツ モジュール テンプレート ファイル
| category.html チャネル ページ テンプレート ファイル ----- list.html リストページ テンプレート ファイル -| show.html コンテンツ ページ テンプレート ファイル
| config.php はテンプレート ファイル設定を追加します
| デフォルト
| ---------------------------------- -コンテンツ コンテンツ モジュール ファイル ----- category_SHETU.HTML チャネルページ テンプレート ファイル
| list_shedu.html リスト テンプレート ファイル
| ----- show_shedu.html コンテンツ ページ ファイル
-----config.php 新しく追加したテンプレート ファイルを設定します


テンプレート ファイルの命名規則

2. 背景を入力し、列をテンプレート ファイルと一致させる

3. 定数の定義: phpcms/base .php ファイル

4. システム クラス ライブラリ、関数ライブラリ、モデル ファイルのロードおよび設定ファイル

pc_base::load_sys_class();// システム クラス ライブラリをロード
pc_base::load_sys_func();// システム関数ライブラリをロード
pc_base::load_model();// モデルをロード
pc_base::load_config( );//設定ファイルまたは設定オプション情報をロードします
pc_base::load_app_func();//アプリケーション関数ライブラリをロードします
pc_base::load_app_class( );//アプリケーション クラス ライブラリをロードします

グローバル スコープで使用可能、また、テンプレートファイルで直接使用できますので、二次開発に非常に便利です







声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。