揮発性のメモ2

http://d.hatena.ne.jp/iww/

FuelPHPのViewの入れ子

Views - 概要 - FuelPHP ドキュメント
FuelPHP1.6、viewの入れ子について理解する|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~
FuelPHP入門
変数をグローバルに入れるのが王道みたいな感じだけど、グローバル変数にするのはどうしても抵抗あるし、いちいちset_global使うのも面倒くさい。


そこで、第4の方法を思いついた。

  • fuel/app/classes/controller/hello2.php
<?
class Controller_hello2 extends Controller
{
    public function action_index()
    {
        $data['hello'] = "ハロー";
        $data['world'] = "ワールド";
        $data['data'] = $data; // ★これ

        return View::forge( 'hello2', $data );
    }
  • fuel/app/views/hello2.php
<html>
    <body>
       <?= View::forge( 'world', $data ) ?>
    </body>
</html>
  • fuel/app/views/world.php
<?= $hello ?><?= $world ?>


とりあえず問題なく動作した。
メリットは実装にあたって何も考えなくてよいこと。
デメリットは$dataの丸コピー発生だけど、どうせコピーオンライトとかうまいことやってるだろうし、気にしない。