Neo Inspiration

  • Search

    • About Me

      • inspi 改め
        jakk@webアーキテクト(自称)
        php,javascript,seoなど
        得意技は extract();

  • カテゴリー

  • Ranking

  • Archive for the ‘View’ Category

    CakePHP 1.2で トップページにキャッシュを入れる

    木曜日, 1 月 10th, 2008

    あちこちみてたんですが、やっぱりコアに手を入れるしかなさそう。

    1.1だとこれかな。
    http://raminasser.com/category/cakephp/

    >>一応対策は書きましたが、 コアをいじらないでできる方法があったら教えて欲しいです。

    問題は2点

    1個目はCache読み込み部分

    /cake/dispatcher.php の Line638
    $filename = CACHE . ‘views’ . DS . convertSlash($url) . ‘.php’;

    ようは $_SERVER['REQUEST_URI'] を convertSlash したものがキャッシュ名になるので、
    http://www.a.com/ の場合の REQUEST_URI = / を convertSlash した null がキャッシュファイル名になってしまうわけです。

    なのでエラーになってキャッシュが読み込めない。

    2個目はCacheロード部分

    /cake/view/view.php の Line808
    $cache->here = $this->here;

    ようは dispatcherで作成された $this->here を持ちまわしてそのままファイル名にするわけです。
    なので、キャッシュを書き出すだけ(読み込まない)でよいのなら
    controllerに

    $this->here = “/コントローラ名/”;

    をつけたすだけでOKです。

    まあ これじゃあ役に立たないので・・・

    ちゃんとキャッシュが動くようにすると

    こうなります。

    /cake/dispatcher.php の Line638の
    $filename = CACHE . ‘views’ . DS . convertSlash($url) . ‘.php’;
    この文の上にこれを付け足す

    //例は toppages_controller を / にしている場合
    if($_SERVER['REQUEST_URI']==”/”){
    $url = “toppages”;
    $this->here = “/toppages/”;
    }

    コアライブラリにハードコーディングですが、これで / もキャッシュできるようになります。

    Smarty と cakePHP でキャッシュを効かす方法

    月曜日, 7 月 9th, 2007

    を誰か教えてくださいorz

    自分なりの対策をした結果だけ書いておきますが、
    正しいやり方ではないと思っていることだけは明記しておきます。

    (more…)

    cakephp で一つの controller からコンテンツを量産する方法

    金曜日, 6 月 29th, 2007

    うまいタイトルが思いつかなかった。。

    どういうことかというと
    全体レイアウトに Element を使っていたりして
    Element に「同じ」動的データを渡したくて、かつ中身はファイルごとに替えたい場合
    毎回 controller を作って view を作るのはだるい!!!

    ということです。

    (more…)

    2008/07/05 03:29:00