ホームページ php教程 PHP开发 Zend Framework の入門知識ポイントの概要

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

Jan 05, 2017 am 10:54 AM

この記事では、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 サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)