Seo tools

Neo Inspiration

  • Search

    • About Me

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



  • Categories

  • Ranking

  • Comments

  • Others


    • track feed   |
  • Archive for the ‘cakePHP’ 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/”;
    }

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

    CakePHPのモデルがエンティティとして扱える!

    火曜日, 1 月 8th, 2008

    あけましておめでとうございます(遅

    すでにCakeを使った開発第2弾も佳境なんですが、
    ここにきてやりたかったことが書いてあって
    動揺していたりw

    実装したいけど、もう時間がない!

    CakePHPのモデルをエンティティとして扱う

    http://wiki.cre8system.jp/index.php?PHP%2FCakePHP%2FCakePHP%A4%CE%A5%E2%A5%C7%A5%EB%A4%F2%A5%A8%A5%F3%A5%C6%A5%A3%A5%C6%A5%A3%A4%C8%A4%B7%A4%C6%B0%B7%A4%A6

    あちこちで言われていますが、Cakeのモデルはエンティティともなんともいえない微妙な状態(エンティティではないけど)なので
    $this->idは使えても $this->postname みたいなことはできない みたいな。

    それを可能にしてくれるってことです。

    Cake(というかPHPが?)元々ハッシュ地獄に近いソースになりがちなので、
    こういう書き方ができるようになると
    Cakeを使う利点が増えるようなきがするなー
    しないかも。

    次のプロジェクトのときは実装してみよう。

    の前に検証だw

    CakePHP hasAndBelongsToMany でページング(SQL LIMIT)とかを設定する

    火曜日, 12 月 4th, 2007

    ひさびさCake触ると いろいろ新しい発見があるものです。。

    Cakeでは仕様上

    hasOne > LEFT JOIN
    belongsTo > LEFT JOIN
    hasMany > IDを元に該当テーブルをSelect
    hasAndBelongsToMany > IDを元に接続テーブルをSelect

    という形なので
    Modelのアソシエーション単位で、条件の書き方が変わってくるので
    そのメモです。

    (more…)

    2009/01/07 01:47:42