PHP_PHP チュートリアルで軽量 MVC 標準を開発する方法

WBOY
リリース: 2016-07-13 10:11:40
オリジナル
798 人が閲覧しました

php で軽量 MVC 標準を策定する方法

現在、MVC 用の PHP オープンソースの無料フレームワークが多数あります。この記事の目的は、構造を学ぶことです。オープンソース MVC フレームワークをより適切に適用できるように、MVC と MVC アイデアを準備します。

注: 以下の定義は狭いものであり、今回解決する問題の領域を制限するために使用されます。これは業界標準ではありません。

(1) 軽量MVC定義:

1. フレームワークはアプリケーションに侵入せず、インターフェースクラスに依存しません

2. フレームワークには設定もアノテーションもありません

3. 使いやすく、理解しやすい 複雑さを避けるため、当面は RESTful には関与しません。

(2) 軽量MVCインターフェース:

1. コントローラーはセッターを使用してリクエストパラメーターを注入し、book.title.

などの階層的な注入をサポートします。

2. コントローラーはゲッターを使用してデータを View に提供し、対応する属性値は ${property} のように View で直接取得できます。

3. コントローラーは、セッター関数とゲッター関数以外の関数を使用してリクエストを処理します。

4. コントローラーは関数の戻り値を使用してジャンプを制御します。 1 つのコントローラーが 2 つの View に対応することは許可されません。

5. コントローラーのモデルへの依存関係は、モデル間の依存関係も含め、セッターを使用して自動的に組み立てられます。

6.loginUserId などのセッション パラメータも、setter を通じてコン​​トローラに注入されます。loginUserId に注入されたリクエスト パラメータがある場合、それらもセッション パラメータによって上書きされます。

7. ViewとControllerは1対1で名前によってマッピングされ、JSP、Velocity、FreeMarker、CommonTemplateなどのさまざまなViewテンプレートタイプの拡張機能をサポートします

8. Viewは、暗黙的なControllerに相当するControllerなしで実行することもできます。

9. フレームワークは、ルールに基づいて、com.company.module のように、特定のパッケージ名がモデル、特定のパッケージ名がコントローラ、特定のディレクトリがビューであることが合意されています。コントローラーはモジュールを自動的に検出し、シングルトンとして使用します。モデルはモードでロードされ、コントローラーはプロトタイプ モードでロードされます。

要するに、インターフェースにはセッター、ゲッター、自動マッピングルールしかありません

(3) 軽量MVCアクセス:

http://ホスト名[:ポート][/アプリケーション名]/モジュール名/コントローラ名/関数名.html[?パラメータ名=パラメータ値]

注: 角括弧は省略を表します

(4) 軽量MVC実装:

上記のインターフェースに準拠した実装はどれでも許容されます。

(5) 軽量MVCのメリット:

ビジネス ロジックはどのフレームワークにも依存せず、ビジネス コードに影響を与えることなくあらゆるフレームワークに適応できます。古いフレームワークが削除され、誰もそれを保守しない場合は、より安定した新しいフレームワークに最速で移行できます。

理想は美しいですが、現実は残酷です。

http://www.bkjia.com/PHPjc/928041.html

www.bkjia.com

tru​​e

技術記事 PHP で軽量 MVC 標準を策定する方法 現在、MVC 用の PHP オープンソースの無料フレームワークが多数あります。この記事の目的は、ホイールを繰り返すために軽量 MVC を開発する必要はありません。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!