ぽんこつエンジニアのブログ

PHP チョット デキル

【Laravel4】ViewのNamespaceを登録する

LaravelのViewにはaddNameSpaceというメソッドがあってこれでNameSpaceとViewを読み込むパスの登録を行うことができる。

例えばPC版とSP版のテンプレートファイルも持つ必要があって、それぞれルート直下のpc/、sp/の配下に置いているとすると以下のように書ける。

global.phpとかどこかで

<?php
        View::addNamespace('pc', base_path('pc'));
        View::addNamespace('sp', base_path('sp'));

Controllerで

<?php
    function sample()
    {
        if ($this->isPC()) {
            $namespace = 'pc';
        } else {
            $namespace = 'sp';
        }
        return View::make($namespace . '::sample');
    }

これの存在を知らなかったばかりにPC用とスマホ用のView読み込み先の切り替えを行うために 結構な量のコードを書いてもらってしまった。。。