CodeZine(コードジン)

特集ページ一覧

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/09/07 14:00
目次

リソースプラグインの利用してレイアウトを追加

 よく利用するリソースについては、リソース作成のためのコードを使いまわしたい場合があると思います。そのための方法がリソースプラグインで、ブートストラップクラスに「_init...」メソッドを追加するかわりに、リソースを生成するリソースプラグインをあらかじめ別に記述しておき、それをアプリケーションの設定から呼び出すように記述しておきます。

 なお、標準でもいくつかのリソースプラグインが準備されています。

標準で準備されているリソースプラグイン
リソースプラグイン名 対応するモジュール
Db Zend_Db
Layout Zend_Layout
Navigation Zend_Navigation
Router Zend_Controller_Router_Rewrite
View Zend_View
Locale Zend_Locale
Session Zend_Session
Frontcontroller Zend_Controller_Front
Translate Zend_Translate
Modules その他の、さまざまなモジュール

 このうちの、レイアウトに関するリソースを作成するリソースプラグインを利用するように設定します(リスト7)。

[リスト7]レイアウトの追加(application.ini)
...
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"

[staging : production]
...

 ▼

...
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"

;;追加した分:レイアウトの追加
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"  //……(1)

[staging : production]
...

 ここでは、(1)でレイアウトに関する記述を追加しています。この行のように「resources」で始まる行は、リソースプラグインに関する設定で、

resources.(リソース名).(プロパティ名) = (設定値)

 という形式を取ります。例えば、この行では「Layoutモジュール」の「layoutPath」を「APPLICATION_PATH "/layouts/scripts"」(つまり「C:\codezine\application\layouts\script」)に設定しています。

 最後に、上で指定した場所にレイアウトスクリプトを設置します。「C:\codezine\application\layouts\script\layout.phtml」というファイルを作成し、中身は次のようにしてください(リスト8)。

[リスト8]レイアウトスクリプト(layout.phtml)
<?php
echo $this->doctype();
//トップページへのURLを作っておく
$this->top_url = $this->url(array('controller'=>'index'));
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <!-- ヘッダの出力 -->
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <?php echo $this->headTitle() ?>
  <?php echo $this->headLink() ?>
  <?php echo $this->headStyle() ?>
  <?php echo $this->headScript() ?>
</head>
<body>
<!-- ページ上部のヘッダの出力 -->
<div id="header" style="background:cyan">
 <a href="<?php echo $this->top_url ?>">TOP</a>
</div>

<!-- 本体の出力 -->
<?php echo $this->layout()->content ?>

</body>
</html>

 同様に、index.phtmlの中身も書き換えておきましょう(リスト9)。

[リスト9]トップページの中身(index.phtml)
<h1>Codezine TEST</h1>
<p>
RADツールを使ったテスト。
</p>

 これで図4のような画面が表示されるはずです。

おわりに

 今回は、Zend Framework 1.8から導入されたRAD(Rapid Application Development)関係の機能について見ていき、環境の構築からアプリケーションの設定について軽く触れてみました。

 次回も引き続きRADツール関係のモジュールを扱っていきます。次回扱うのはZend_Applicationで、ブートストラップクラスの動作の仕組や、リソースプラグインの作成などについて説明したいと思います。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2009/10/18 21:30 必要な環境の「PHP5.1.4以降」を「PHP5.2.4以降」に修正しました(Zend Framework 1.8以降に必要).

バックナンバー

連載:Zend Framework入門

もっと読む

著者プロフィール

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

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

  • WINGSプロジェクト 風田 伸之(カゼタ ノブユキ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5