この記事では、Zend Framework の入門知識ポイントを要約し、分析します。参考として皆さんと共有してください。詳細は次のとおりです:
zend フレームワークは MVC パターンの実装です。すぐに始めるには、Zend_Controller Zend_View 部分を見てください。
1.Zend_Controller部分。最も重要なクラスは Zend_Controller_Front です。これを使用する古典的なコードは非常に簡単です:
$front=Zend_Controller_Front::getInstance(); $front-> setControllerDirectory("./app/controllers"); $front->dispatch();
ここで説明したいのは、new を使用して Zend_Controller_Front を取得することはできず、getInstance メソッドを呼び出してインスタンス (my) を返すことしかできないということです。 zend_framework は 1.01 を使用します)。ここで指定したコントローラー ディレクトリは、www ドキュメント ルート ディレクトリの app フォルダーの下にあります。一般的に、アプリはドキュメント ルート ディレクトリに配置すべきではありません。いわゆるセキュリティの問題です。設定が厳密でないと、www ドキュメント ルート ディレクトリ内のファイルが訪問者に見える可能性があります。通常、これは別のディレクトリに配置する必要があります。たとえば、ドキュメントのルート ディレクトリと同じレベルに配置する場合は、次のように指定できます。
余分な「.」があります。ここでは相対パスが使用されます。フルパス名を使用して他のディレクトリを指定できます。例:
$front->setControllerDirectory("../app/controllers")
この部分はインデックスに含まれています。 phpで。正しい構成では、すべてのリクエストは書き換え関数によってこの $front (フロントエンド コントローラー Zend_Controller_Front インスタンス) にリダイレクトされます。すべての認証およびその他の処理は、発送前に処理する必要があります。
2.Zend_View で一般的に使用されるコードは次のとおりです。
$front->setControllerDirectory("E: /server/app/controllers")
Zend_Framework が推奨するディレクトリ構造がデフォルトで採用されます。つまり、ビューとコントローラーのモデルは両方ともアプリケーション ディレクトリにあります。ビューの下には、スクリプト ヘルパー フィルターという 3 つの兄弟ディレクトリがあります。このように、コントローラーを定義するときは、コントローラーの下位にあるテンプレートを保存するために、スクリプトの下に新しいディレクトリを作成する必要があります。たとえば、単純な
$view=new Zend_View(); Zend_Registry::set("view".$view);
の場合、それに応じてインデックス ディレクトリを作成し、そのインデックス ディレクトリにindex.phtml テンプレートを作成する必要があります。 IndexController の下に別の関数 addAction() を作成する場合は、index に新しい add.phtml を作成する必要があります。別の UserController がある場合は、スクリプトの下に対応するユーザー ディレクトリが必要です。これらの *.phtml ファイルは HTML ファイルに似ており、出力するコンテンツの表示方法を定義します。空白のままにすることもできます。ただし、省略することはできません。省略すると、無効なコントローラの「エラー」が表示されます。これは、デフォルトの ErrorController がすでに登録されているためです。デフォルトの ErrorController は、フロントエンド コントローラーが対応するコントローラー ディストリビューションを見つけられない場合に呼び出されます。
デフォルトのディレクトリ構造やデフォルトの phtml タイプのビュー テンプレートを使用したくない場合があります。現時点では、
Class IndexController extends Zend_Controller_Action { function IndexAction() { } }
を使用して、デフォルトの phtml タイプのディレクトリ設定をキャンセルできます。
$view->setParam ("noViewRanderer",true);
を使用してデフォルトの ErrorController に書き込みます。
$view->setParam ("noErrorHandler",true);
を使用して、テンプレートの場所を設定します。これは、Smarty テンプレートを使用する場合に便利です。
は次のように記述できます:
$view->setscrīptPath ("./app/views");
を使用すると、次のように取得できます:
$view=new Zend_View_Smarty(); $view->setParam("noViewRanderer",true); $view->setParam("noErrorHandler",true); $view->setscrīptPath("./app/views"); Zend_Registry::set("view".$view);
3. 最初に接触したとき、モデルは単純にデータ オブジェクトとして理解できます。 Zend_Db_Table は非常に優れたカプセル化クラスであり、一般的な使用には十分です:
$view=Zend_Registry::get("view");
もちろん、テーブルの名前を指定するだけで十分です。この場合、zendf はデフォルトでクラス名を使用してデータベーステーブルを検索します。 Zend_Db_Table のdefaultAdapter を指定することを忘れないでください:
class data extends Zend_Db_Table { protected $_name="data"; }
config.ini は [general]
$config = new Zend_Config_Ini('./application/config.ini', 'general'); $db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray()); Zend_Db_Table::setDefaultAdapter($db);
に似ています。この記事が Zend Framework フレームワークに基づいた PHP プログラムの設計に役立つことを願っています。
Zend Framework の入門知識ポイントのまとめに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。