Zend_Layout

0pt

使い方

Zend_Controllerをdispatchする前に

<?php
Zend_Layout::startMVC(array('layoutPath' => '/path/to/script));
?>

これだけでレイアウト適用できる。

どうやら、startMVCZend_Controllerのプラグインなどを自動に登録してるみたいだ。

アクション内でレイアウト変更したい場合

アクションヘルパー(Zend_Layout_Controller_Action_Helper_Layout)からZend_Layoutを取得できるので、それ経由で変更できる。

<?php
function hogeAction(){
    $this->getHelper('layout')->setLayout('hoge');
}
?>

ヘルパーからsetLayoutできるのは、Zend_Layoutにそのままdelegateしてるから。

startMVCを使わなくてもいい?

第二引数にtrueを与えるとControllerへpluginとhelperが登録される。だからstartMVCしなくてもレイアウト適用はできる。

<?php
$layout = new Zend_Layout(array('layoutPath' => '/path/to/script), true)

しかし、ContextSwitchを使う場合、こいつはstartMvcでセットされたZend_Layoutインスタンスを使うので、やはりstartMVCを使うのが安全。

「Zend_Layout」について友人に書いてもらう。

あなたにとって「Zend_Layout」とは?

ログインするとワンクリックでキーワードを投稿できます

ログインする 新規登録する

関連したキーワードを持つお気に入り

他の人の「Zend_Layout」を見る