1

独自の PHP MVC フレームワークを構築しようとしています。

現時点では、新しいページを作成するときにメタ タグ、ヘッダー、ナビゲーション、フッターを気にする必要がないように、各ページがテンプレート ページを拡張する単純な 2 ページの Web サイトを作成しています。

これをMVCの個別のコンポーネントにこぼす方法を見つけようとしていますが、できません

このことから、MVC が必ずしもこのフレームワークを前進させる方法であるとは限らないと私は信じています。

では、MVC の概念は静的 (静的とは、ユーザー入力がリンクをクリックすることだけであり、ログインなどではないことを意味します) PHP ページに適用されますか?

4

3 に答える 3

3

MVCが必要ですか

  • MVC の概念は、静的ページを含む Web サイトに適用できますか? はい、できます。
  • 使うべきですか?いいえ、プロジェクトの成長が予想される場合を除きます。

その中核にある MVC アーキテクチャは、ビジネス ロジックをプレゼンテーション ロジックから分離することです。

(いわゆる) 静的サイトでは、モデル レイヤー (はい、クラスではなくレイヤーです) の唯一の役割は、キャッシュまたはデータベースからコンテンツを取得することです。この場合、より多くの frame を取得してから workを取得します。これは、MVC 構造をセットアップすると、有用な部分よりも多くのコードが必要になるためです。

フレームワークを構築する必要がありますか

必ず作ってください。PHP コミュニティでは、これはほとんど通過儀礼のようなものです。少なくともいくつかのフレームワークを作成していない場合、あなたは真の PHP 開発者ではありません。

ただし、最低でも 3 回の反復が必要であることを覚えておいてください。そして、それは、他のフレームワークを模倣するのではなく、実際に OOP の原則を学んでいると仮定しています。

小さなプロジェクトのためのより良いオプションは何ですか

完全な MVC フレームワークを作成する代わりに、その精神に沿ったものを作成してみてください。

次の 2 つのことから始めるべきです。

  1. アプリケーションには、Single Point of Entranceが必要です。これは、ユーザーが を書いhttp://who.cares/article/1た場合、URL を次のように書き換える必要があることを意味します。index.php?url=article/1

  2. 懸念事項を分離します。基本的に、このようなアプリケーションでは 3 つの異なるシンニングを行う必要があります。

    • ユーザーのリクエストを解析する
    • データを取得する
    • 収集した情報を表示する

最後の部分については、この記事を参照してください。残りについては、自分で決める必要があります。

データベースからデータを収集するための古いmysql_*関数は使用しないでください (ある場合)。それらはもはや保守されておらず、コミュニティは非推奨プロセスを開始しています。代わりに、準備済みステートメントについて学び、 PDOまたはMySQLiのいずれかを使用する必要があります。決定できない場合は、この記事が選択に役立ちます。学習したい場合は、ここに PDO 関連の非常に優れたチュートリアルがあります。

于 2012-05-20T16:08:42.597 に答える
2

あなたのページには、コンテンツを変更したり、ユーザー入力などを処理したりするためのプログラミング言語が必要なので、それほど静的ではありません。マークアップとスタイリング言語のみを使用する場合、それらは静的です。

あなたのプロジェクトが堅実なアーキテクチャを必要とするかどうかを言うのは難しい. 静的ページの場合、mvc は必要ありません。2ページのプロジェクトでも、ページが非常に動的でない限り、mvcは必要ないと思います(1ページに複数の状態がある場合があります)。

独自のフレームワークを本当に作成したい場合は、アプリケーションの構造、アーキテクチャについてもっと読む必要があります。通常、中規模/大規模なアプリケーションのみが堅実な構造/アーキテクチャ (例: mvc) を必要とします。

最終的な答え: あなたのアプリに mvc は必要ないと思います。
PS: 独自の mvc フレームワークを作成するのは良いことです。多くのことを学びます。しかし、あなたがそれを単独で行う場合(既存のものよりも良くしたい場合)、それを完成させるには多くの時間がかかります。確かな (ほぼ完璧です:)) php mvc フレームワークはどこにもありません。PHP コミュニティには、世界的に受け入れられている優れたフレームワークがありません。多くのフレームワークがありますが、すべてに長所と短所があります。zend mvc はよりライブラリに近いと言っている開発者もいます。

于 2012-05-20T13:02:17.447 に答える
1

まず第一に、MVCは決して必要ではありません。これは、組織、堅牢性、安全性を提供するのに便利であると認識されている単なるパターンです...

次に、私の意見が必要な場合は、静的ページに実装することに慣れれば、次のページに進むのが簡単になります。

于 2012-05-20T12:16:13.367 に答える