タグ

ブックマーク / www.1x1.jp (5)

  • CakePHPとnginx+memcachedで手軽にキャッシュを活用する

    nginx+memcachedがめちゃ気になったので試してみました。 元ネタは下記です。 A 53,900% speedup: Nginx, Drupal, and Memcache bring concurrency up and page load time way down | TechnoSophos nginxをリバースプロキシに利用した構成で、バックエンドの出力をmemcachedにキャッシュしておけば、次回リクエストではnginxがそのキャッシュを読み取ってそのまま出力してくれます。 つまりバックエンドにリクエストを経由させずにnginxから即出力するのでかなりの高速化が見込めるという優れものです。 リンク先ではバックエンドにDrupalを利用していたのですが、ここではCakePHPを利用してみます。 1. 全体構成 リバースプロキシにnginx(Port: 80)を使い、バ

  • CakePHP cache()はCache::write()に

    CakePHPにはキャッシュを行う関数cache()があるのですが、1.2.2のソースを見るとdeprectatedになってました。 [cake/basics.php] <?php /** * Reads/writes temporary data to cache files or session. * * @param string $path File path within /tmp to save the file. * @param mixed $data The data to save to the temporary file. * @param mixed $expires A valid strtotime string when the data expires. * @param string $target The target of the cached da

  • CakePHP 1.2で携帯用ビューを表示する | Shin x blog

    CakePHP1.2ではCakePHP 携帯用ビューを表示するで利用していたwebservicesの機能が無くなります。 1.2-betaでRouting.webservicesをonにすると以下のようなメッセージが表示されます。 Deprecated: webservices routes are deprecated and will not be supported in future versions. Use Router::parseExtensions() instead. The prefix automagic in CakePHP routingで紹介されているように、1.2からはwebservicesに替わりprefixをURLルーティングで使用するようです。 そこで実際にどのように使用するかを試してみました。 1. URLルーティングでprefixを設定する Rou

  • CakePHP $_GET/$_POSTの値はどこに?

    PHPのスーパーグローバルの値をどのように参照すれば良いかまとめてみました。 Controller#dataやアクションメソッド引数のようにフレームワークで想定された使い方をしている分には特に問題無いのですが、ちょっと他のことをやろうとすると、どこに値が格納されているか分からず困った事がありました。 # もちろん$_GET/$_POSTを使えば値は取れますが、せっかくのフレームワークなのでなるべくその中で値を使いたいものです。 1. $_GET $_GETの値はController#params[‘url’]に格納されます。 ちなみに$_GET[‘url’]はURLルーティング(リクエストURIからコントローラ・モデル等を決定)で、$_GET[‘file’]は[app/webroot/js/vendors.php]で参照されています。 [http://example.com/foo/ind

  • CakePHP 比較演算子インジェクションに注意

    @deprecated この情報はCakePHP1.2betaまでのものです。1.2RC1についてはこの方法は有効ではありません。詳しくはCakePHP 1.2RC1からは比較演算子をキーに書くをどうぞ。 CakePHPのモデルで検索条件を指定する場合は比較演算子に注意が必要です。 検索条件では↓な感じで条件値の他にSQLの比較演算子を入れることができます。 <?php class UserController extends AppController { funtion index($id) { $id = is_numeric($id) ? $id : 0; // $id より大きなidを持つレコードを取得 $list = $this->findAll(array('id' => '> ' . $id)); $this->set('list', $list); } } ?> これを見

  • 1