CakephpのbeforeFilterでComponentを使うときのエラー

CakephpのbeforeFilterでComponentを使っているとなんやらメソッドがないとかエラーが

Fatal error: Call to a member function save() on a non-object ...

えー、普通に使ってるのに..と思ったら、beforeFilterでは、Componentのstartupがまだ呼ばれてないっぽい(使える準備ができてない)
仕方ないので、メインのメソッドに書きました

Cakephpで1つのフィールドだけバリデーションをかける

Cakephpでモデルのバリデーションをかけるには

$this->ModelName->set($data);
if (! $this->ModelName->validates()) {
    // バリデーションエラー
    $errors = $this->ModelName->validationErrors;
}

な感じでかけられますが、全項目はなくて一つの項目(フィールド)だけバリデーションを書けるには

$this->ModelName->set($data);
if (! $this->ModelName->validates(array('fieldList' => array('myField')))) {
    // バリデーションエラー
    $errors = $this->ModelName->validationErrors;
}

で、fieldListを使えばできます

Cakephpで諸事情によりテーブルを切り替えたいとき

Cakephpで諸事情によりテーブルを切り替えるには
テストのコードですが

public function setUp() {
    parent::setUp();
    $this->Plan = ClassRegistry::init('Plan');
    $this->Plan->setSource('test_plan');
}

というふうに
Model->setSource
で切り替えられました

php.netの像が走る

php.netを見てたら左上に像が走っててびっくり

elephant

違うブラウザで開くといつものPHPのロゴ

HTMLを見ると
http://php.net/images/logo.php
を参照しているみたい
PHP?っと思って調べたらソースコードがあった

https://github.com/php/web-php/blob/master/images/logo.php

クリスマスバージョンもあるみたいです
http://php.net/images/logos/php-xmas-2013.png

キャッシュしている間は見れるみたい

ElePHPantらしく説明はこちら
http://php.net/elephpant.php

遊び心があっていいですねー