RADツールによるPHPアプリケーション速効開発
- Zend_Application -
Zend Frameworkによる実践的なPHPアプリケーション開発 24
ダウンロード サンプルファイル (6.8 KB)
リソースプラグインを利用した生成
リソースプラグインを利用したリソースの生成は、あらかじめ準備してあるリソースを生成してくれるプラグイン(リソースプラグイン)を利用します。その利用する方法も、直接コードに書くのではなく、基本的には設定ファイルに生成したいリソースに関する情報を記述していきます。
このリソースプラグインは自分で記述することもできますが、通常はZend Frameworkに標準で準備されているものを利用します。
このうちの主だったものを紹介します。
(1)Zend_Application_Resource_Frontcontroller
フロントコントローラーを生成するリソースプラグインです。Zend_Applicationのrunメソッドは、このリソースプラグインで生成されたフロントコントローラーにディスパッチするため、必ず設定を行う必要があります。
このリソースプラグインで設定できる項目は次のとおりです。
| 項目名 | 説明 |
| controllerDirectory | アクションコントローラが設置されているディレクトリ名を指定。ただし、アプリケーションが複数のモジュールから成る場合には、配列で(モジュール名)=>(ディレクトリ名)という形で指定 |
| moduleControllerDirectoryName | (アプリケーションがモジュールに分割されている場合)アクションコントローラが設置されているサブディレクトリ名を指定 |
| moduleDirectory | (アプリケーションがモジュールに分割されている場合)モジュールが設置されているディレクトリ |
| defaultControllerName | 標準で呼び出されるアクションコントローラー名(標準では「index」) |
| defaultAction | 標準で呼び出されるアクション名(標準では「index」) |
| defaultModule | 標準で使われるモジュール名 (標準では「default」) |
| baseUrl | アプリケーションのベースURL |
| plugins | 利用するフロントコントローラーのプラグインの配列 |
| params | フロントコントローラーに与えるパラメーター |
この中で特に重要なのがcontrollerDirectoryで、Zend_Applicationを利用するには、この値を指定する必要があります。これは、リスト4のように、
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
という風に、設定ファイルで「resources.frontController.controllerDirectory」の値として設定します。
(2)Zend_Application_Resource_Db
Zend_Application_Resource_Dbはデータベースを利用するための設定を行います。
| 項目名 | 説明 |
| adapter | データベースのアダプタの種類 |
| params | アダプタに与えるパラメーター |
| isDefaultTableAdapter | 標準のテーブルアダプタにするか(標準ではそうなる) |
ここでは利用したいデータベースの種類をadapterで、そのためのパラメーターをparamsで与える、といった利用法が基本となります。例えば「localhost」で走っているMySQLサーバの「codezine」データベースにユーザー名「user」パスワードなしで接続するには、次のように設定ファイルに記述します。
resources.db.adapter = "pdo_Mysql" resources.db.params.host = "localhost" resources.db.params.username = "user" resources.db.params.password = "" resources.db.params.dbname = "codezine"
(3)Zend_Application_Resource_View
Zend_Viewのを設定するためのリソースプラグインで、Zend_Viewの各パラメータを設定することができます。
| 項目名 | 説明 |
| basePath | Zend_Viewに関するスクリプトが置かれている場所 |
| encoding | htmlspecialchars()等で利用する文字コード |
| escape | エスケープに利用される関数 |
| filter | ビュースクリプトを実行した後に呼び出されるフィルタ |
| strictVars | これをtrueにすると、何も割り当てられていない変数を参照した場合に警告を表示する(標準ではfalse) |
このように、リソースプラグインを利用すれば、直接コードを書くことなくリソースを生成することができます。
おわりに
今回は、Zend Framework 1.8から導入されたRAD(Rapid Application Development)関係の機能の紹介第2回目で、アプリケーションの設定やリソースの生成を行うZend_Applicationについて見てきました。
次回はRADツール関係のモジュールの最終回で、Zend_Toolの紹介をします。Zend_Toolはコマンドラインを利用した作業を支援するためのモジュールです。標準ではZend Frameworkの環境を作成したり変更するための機能が備わっていますが、自作したモジュールを利用することで機能を拡張することもできます。
- 修正履歴
-
- 2009/10/16 11:54 必要な環境の「PHP5.1.4以降」を「PHP5.2.4以降」に修正しました.
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 風田 伸之(カゼタ ノブユキ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
