SHOEISHA iD

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

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

Zend Framework入門

Zend Framework入門(8):ビューの処理の流れを理解しよう

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

ファイルの配置

 先程の例では、説明を簡単にするためビュースクリプトを「index.php」と同じ場所に配置しました。しかし、通常はZend Framework入門(2)で見たようにZend_Viewが利用するスクリプトなどは、公開フォルダとは別の場所に配置します。おさらいになる部分もありますが、典型的なファイルの配置は次のようになります。

Zend_View関係のファイルの配置
appplication/
  views/
    helpers/    (ビューヘルパ関係のファイルを配置するフォルダ)
    filters/    (ビューフィルタ関係のファイルを配置するフォルダ)
    scripts/    (ビュースクリプトを配置するフォルダ)

 このZend_View関係のファイルが配置されているフォルダへのパスをベースパスと呼び、Zend_ViewのsetBasePathメソッドで設定します。

 Zend Framework入門(2)と同じく、「C:\codezine」のフォルダ以下に公開フォルダ「C:\codezine\htdocs」とアプリケーション配置フォルダ「C:\codezine\zendapps\」が配置されているとします。すると、ベースパスの設定は次のようになります:

コントローラスクリプト(index.php)
<?php
...
//$view->setScriptPath('.');
$view->setBasePath('../zendapps/views');
...

 また、この場合には、「view.phtml」は「C:\codezine\zendapps\views\scripts」に配置することになります。ここからの例では、この配置でファイルが設置されているとして説明を続けますので、必要に応じて読み替えてください。

パスの追加

 Zend_Viewが必要なファイルを探すパスを複数登録することもできます。その場合には上で見たようなset~Pathではなくadd~Pathメソッドを利用します。

 例えば、ビュースクリプトが「C\:codezine\extraapps\specialscripts」にも配置されていた場合には、次のように書きます:

パスの追加
$view->setBasePath('../zendapps/views')//標準でのパス
$view->addScriptPath('C:/codezine/extraapps/specialscripts');//スクリプトパスの追加

 なお、Zend_Viewは新しく追加されたパスから順番に必要なファイルを探します。上の例では、「C\:codezine\extraapps\specialscripts」の方が「..\zendapps\views」よりも後に追加されてます。そのため、「C:\codezine\zendapps\views\scripts\view.phtml」と「C:\codezine\extraapps\special_scripts\view.phtml」の両方があった場合、後者の「C:\codezine\extraapps\special_scripts\view.phtml」が利用されます。

パスを設定するためのメソッド

 Zend_View関係のファイルの配置を指定するメソッドには次のものがあります。

Zend_View関係のファイル配置を設定するためのメソッド
setBasePath、addBasePath、setFilterPath、addFilterPath、setHelperPath、addHelperPath、setScriptPath、addScriptPath

 各メソッドの詳細については、対応する機能のところで説明します。

 なお、ベースパスをsetBasePathで設定するのは、次のように個別にフォルダを指定するのと同じ意味になります。

setBasePathの意味
//$view->setBasePath('../zendapps/views')は次と同じ意味
$view->setHelperPath('../zendapps/views/helpers');
$view->setFilterPath('../zendapps/views/filters');
$view->setScriptPath('../zendapps/views/scripts');

次のページ
エスケープ処理

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
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本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

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

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2716 2008/07/23 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング