SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Zend Framework入門

RADツールによるPHPアプリケーション速効開発
- Zend_Application -

Zend Frameworkによる実践的なPHPアプリケーション開発 24

山田 祥寛[監修] / WINGSプロジェクト 風田 伸之[著]


リソースプラグインを利用した生成

 リソースプラグインを利用したリソースの生成は、あらかじめ準備してあるリソースを生成してくれるプラグイン(リソースプラグイン)を利用します。その利用する方法も、直接コードに書くのではなく、基本的には設定ファイルに生成したいリソースに関する情報を記述していきます。

 このリソースプラグインは自分で記述することもできますが、通常はZend Frameworkに標準で準備されているものを利用します。

 このうちの主だったものを紹介します。

(1)Zend_Application_Resource_Frontcontroller

 フロントコントローラーを生成するリソースプラグインです。Zend_Applicationのrunメソッドは、このリソースプラグインで生成されたフロントコントローラーにディスパッチするため、必ず設定を行う必要があります。

 このリソースプラグインで設定できる項目は次のとおりです。

FrontControllerリソースプラグイン
項目名 説明
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はデータベースを利用するための設定を行います。

Dbリソースプラグイン
項目名 説明
adapter データベースのアダプタの種類
params アダプタに与えるパラメーター
isDefaultTableAdapter 標準のテーブルアダプタにするか(標準ではそうなる)

 ここでは利用したいデータベースの種類をadapterで、そのためのパラメーターをparamsで与える、といった利用法が基本となります。例えば「localhost」で走っているMySQLサーバの「codezine」データベースにユーザー名「user」パスワードなしで接続するには、次のように設定ファイルに記述します。

[リスト11]Dbリソースプラグイン設定の例
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の各パラメータを設定することができます。

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の環境を作成したり変更するための機能が備わっていますが、自作したモジュールを利用することで機能を拡張することもできます。

修正履歴

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Zend Framework入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー