2

私はすでにしばらくの間この議論を行ってきましたが、ここにいる人々の幅広い意見と理由を知りたい.

コンテキスト

この質問は、PHP の MVC モデルのビューの理論的に正しいスコープに関するものです。

これまでの理解

MVC 設計では、ビュー パーツがページまたはその一部の描画を担当する必要があります。これは、ビューが静的コンテンツをペイントし、パラメータが PHP で構築されることを意味します。場合によっては、ここでいくつかのフロー制御ロジック (foreachs、fors) が必要になります。

問題

MVC のビュー側は非常に愚かであるべきだと思いました - これらのパラメータを生成するライブラリによって処理されるパラメータのフィルタとフォーマットです...

ただし、Twig や Smarty などの一部のテンプレート エンジンは、ビューにフォーマット コントローラーを配置するという考え方をサポートしており、通貨、日付などのフィルター処理とフォーマット設定を行うことができます。

ビューの「知性」の限界はどこにあるのでしょうか? フィルターとフォーマットがビューで受け入れられる場合、条件付きフォーマットはどうですか? たとえば、ユーザーが日付形式を設定できる場合、ビューはこの設定を認識している必要があります。これを許可すると、ビューの知識を通貨、言語などに拡張できます...?

ありがとう!

4

1 に答える 1

1

MVC は、厳密なルールではなく一連のガイドラインと考えてください。モデルとコントローラーにプレゼンテーション パーツを配置し、ビューに db 通信などを配置することで、これまでにない最悪のアプリを作成できます。何もあなたを止めることはできませんよね? (コメントについて: もちろん、これを行うべきだと提案しているわけではありません!

したがって、ビューのインテリジェンス制限は、アプリに最適なものであると思います.1つのアプリでは、特定のフィルターを使用しても問題ありませんが(アプリが実際にそれらを使用する場合)、別のアプリでは悪い習慣と見なされる可能性があります. 各 MVC コンポーネントで何が起こるかを知っている限り、構築しているアプリケーションの必要に応じて、各コンポーネントの境界を自由に微調整できます。正しい使い方は一つではありません。

于 2013-10-16T12:33:35.990 に答える