1

私は大規模な Web アプリケーションを設計しており、最終的にページ上のさまざまな要素をモジュール化できるようにしたいと考えています。Zend フレームワークを使用しています。

Drupal と同じように、組み合わせてページ (連絡先ボックス、検索ボックス、最新のブログ コメントなど) を作成できる独立したモジュールを作成したいと考えています。これらのモジュールはインタラクティブであるため、明らかにフォームや AJAX 呼び出しなどが含まれます。また、(外観をレンダリングするために) いくつかのビューが必要であり、JS および CSS ファイルも使用します。

この問題に対する標準的なアプローチを探していましたが、具体的な情報はあまりありません。この種の Web のデザインについての洞察を提供するリソース、本、または Web ページを知っている人はいますか?

4

1 に答える 1

1

正直なところ、私はこの情報を探しても多くのリソースを見つけられませんでしたが、Zend Framework 自体、特に Zend_Form 内の多くのコンポーネントを見ることで、解決策を見つけるための多くのインスピレーションを得ることができます。「Element」と「Decorator」の階層を持つ「Content」パッケージを作成しました。要素自体はデフォルトのデコレーターを提供できます。また、任意のデコレーターをそれらにアタッチできます (たとえば、すべてのコンテンツ ボックスを<ul class='content'><li>.....</li>.....</ul>1 つのページにスタイル表示でラップします。

「ビュー ヘルパー」が非常に便利になり、 を<?php echo $this->blogComments($article) ?>呼び出すビューを呼び出して「最新のブログ コメント」スタイルのボックスを実行できるようになりますMy_View_Helper_BlogComments::BlogComments()Zend_Formたまたまフォームである再利用可能なコンポーネントに対しても、独自のサブクラスを用意することをお勧めします(つまり、 " My_Form_ContactUs" である連絡先)。

「部分」ビュー ヘルパーは、表示の特定の部分を他の再利用可能なファイルに抽象化する場合にも便利です。 <?php echo $this->partial('blog/_comments.phtml', null, array('article'=>$article)); ?> - パーシャルは Zend_View のクローンを作成するため、多少のオーバーヘッドが発生します。

JS/CSS インクルードの処理は少し複雑になります。私が行ったのは、そのライブラリが既に含まれているかどうかを確認する「ライブラリ」を「要求」できる静的クラスを構築することでした。そうでない場合は、headScript() を呼び出します。 / 必要なファイルを含めるための headLink()。(FCKEditor / Sortable / jQuery / などに使用)。最終的には次のようになります。My_Script::requireLibrary('fckeditor');

于 2009-07-15T23:21:25.790 に答える