shop34-1- ディレクトリレイアウト
あるプロジェクトのルートディレクトリ shop34は、
フレームコードアプリケーションのコード分割
フレームワークのコード:
各アプリケーション間で汎用コードとすることができます。
アプリケーションコード:
現在のビジネスプロジェクトロジックの実装コード。
それぞれ2つのサブディレクトリストレージ、フレームワークやアプリケーション・コードを作成します。
例:コードの枠組みの中で:
エントランスのサイトのルートディレクトリにあるファイル
プラットフォームプラットフォーム部門
機能性高分子!
(またとして知られている:モジュール Module1を、パケットグループ)
差別:
前景、背景。
アートプログラム。
必要コードをサンプリングするために、テストとしてテスト処理プラットフォーム、それがためにする必要があり、テストプラットフォームのサブプラットフォームを作成するディレクトリを:
MVCの層の分裂
MVCによって実行される機能は三つの部分なので、次のプラットフォームに分割を実現します:
以下のために現在のプラットフォームの下で コントローラ、モデル、ビューの ファイルは別々に管理します!
例えば:
全体のディレクトリレイアウト
Shop34 /
index.phpの入口ファイル
アプリケーション/アプリケーションプログラムのディレクトリ
フロント/フロントデスク
戻る/背景
テスト/テスト・プラットフォーム
モデル/モデル
ビュー/ビュー
コントローラ/コントローラ
フレームワーク/フレームコードディレクトリ
MySQLDB.class.phpデータベース操作クラス DAOのクラス
Factory.class.phpファクトリクラス
Model.class.php ベースモデルのクラス
Controller.class.php ベースコントローラクラス
shop34-2- 操作- プラットフォーム分布
実行アップ
設定するために可能な訪問 shop34 仮想ホストを:
Apacheの/ confに/エクストラ/ httpdの-vhost.conf
Apacheの再起動
ホスト:
変更したファイルのパスをロードする必要性を
あなたがいる場合、書き込みの相対パスを、注意してカレントディレクトリを。
現在のファイルディレクトリはコードではありませんディレクトリ(コードがファイルで実行されているが、中にされていないメモリの)。
現在のブラウザのリクエストによって位置を求めるスクリプトを決定するために(PHP現在の処理スクリプトとき最初のファイルの場所の処理は、現在の作業ディレクトリと考えられています)。
目に見える、シングルエントリーの手順は、すべての相対アドレスは、ファイルエントリ用語のアドレスを基準にしています。
ディストリビューションパラメータ p型、決定現在のプラットフォームを
URL :
テストプラットフォームのゲームリスト機能:
index.phpを?P =テスト&C =マッチ&A =リスト
フロントユーザー登録
index.phpを?P =フロント&C =ユーザー&A =レジスタ
生成正しいのURLを:
エントランスのファイル index.phpを処理します:
ヒント:
配布パラメータは、 3 :
P:プラットフォーム(ディレクトリ)
C:コントローラ(クラス)
A:アクション(メソッド)
shop34-3- 自動的に達成するためにロード
自動ロード
要約:
コントローラタイプ(よい増加)
モデルクラス(増加)
フレームワークのコアクラス(決定)
以下のためにすべてのクラス、2つのに分割されている側面を検討します:
A :あなたは、クラスを決定することができます。(ロードを決定するための自動的な方法とき時間は、クラスファイルが決定されました)
二:それができる増加したクラス。(自動ローディング方法が決定する場合、方法はありませんかを決定します)
するにしている決定をロードするための最も簡単な方法を使用して、クラスを。
以下のために必要高めるために、クラス、クラス名の必要性 のを、それによって自動ロードが完了し、その決定された位置を完了する。
ルールがあります:
XXXController 終わり、コントローラクラス現在のプラットフォームでは、コントローラのディレクトリには、それをロードします
XXXModel のエンドモデルクラス現在のプラットフォームの下で、モデル対象のディレクトリにロード。
コーディングを達成するために:
増加入口自動装填方法、および登録します。
達成 userAutoloadを:
コアクラスローダ:
あなたはできるクラス(コントローラ、モデル)を増やします。
テスト:
プロジェクトは、すべてのクラスファイルにロードされているが削除されます!
shop34-4- パス定数
ディレクトリアドレス定数
プロジェクト、ディレクトリの形態で使用する定数、アドレスを所望の管理項目は、共に継ぎすることにより、接続操作位置を形成します。
使用するディレクトリ定数を
プロジェクトの初期段階、ディレクトリ定数を初期化するために始めました:
まず決定し、ルートディレクトリを、その後、一緒に入れ決定するためにサブディレクトリを:
index.phpを
ヒント:機能 GETCWDは()することができ、現在の作業ディレクトリを取得するために使用されます。現在の作業ディレクトリ
すべてのアドレス定数に関連する文書が行われました:
shop34-5- ログインフォーム
ログ機能の解析を
機能:ログインフォーム
C コントローラ - アクション
バック、バックグラウンド管理コントローラLoginActionのの操作は、この機能を実行します。
アプリケーション/バック/コントローラ/ AdminController.class.php
増加したアクション:
完全なアクション:
Mのモデル
必要としないでください!
Vのビュー層 - テンプレート
増加を示し、ログインフォームテンプレートを!
アプリケーション/バック/ビュー/ login.htmlと
ecshopによるとの表示の背景スタイル構造は、することができます!
フォームアクションの住所:
エッセンシャルの要素:
提出:
テストのアクションを要求します:
index.phpを?P =バック&C =管理&A =ログイン
処理ページ上の画像、 CSS 、JS
アイテムに使用される CSSは、JS 、画像はブラウザは、ブラウザに要求する必要が解釈し実行します。
プロジェクトのコアクラス、モデルクラス、コントローラクラス、別のテンプレートファイルが、これらはにブラウザ要求に直接することはできません。
それはすべきことが、CSS、画像が統一して管理することができ、アクセスするアドレス!
新しい作成ストレージに専念サブディレクトリ、リソースが直接ブラウザを要求することができますが( JS 、CSS 、画像)
そして、プラットフォームに応じて管理:
テンプレートにロードされた CSS や画像のパスを変更する必要があります。
login.htmlと
ヒント:防ぐために直接ブラウザ要求をフレームワークとそのappliction