ホームページ > バックエンド開発 > PHPチュートリアル > Zend Framework の入門知識ポイントの概要

Zend Framework の入門知識ポイントの概要

高洛峰
リリース: 2023-03-04 10:42:01
オリジナル
1240 人が閲覧しました

この記事では、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 メソッドを呼び出すことしかできないということです。インスタンス (私の 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. 初めてそれに接触したとき、モデルは次のように単純に理解できます。データベースを操作するためのデータ オブジェクト 通常、このクラスは非常によくカプセル化されており、通常は十分に使用できます:


もちろん、テーブルの名前を指定するだけです。この場合、zendf はデフォルトでクラス名を使用してデータベース内のテーブルを検索します。 Zend_Db_Table のdefaultAdapter を指定することを忘れないでください:

$view=Zend_Registry::get("view");
ログイン後にコピー


config.ini は [general]

class data extends Zend_Db_Table
{
 protected $_name="data";
}
ログイン後にコピー

に似ています


この記事が、以下に基づいて皆様の PHP プログラム設計に役立つことを願っています。 Zend Framework フレームワーク。

Zend Framework の入門知識ポイントのまとめに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート