3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(CakePHP)1.2RC へのバージョンアップ

(cakePHP)コントローラからモデルにアクセスで、1.2RCへのバージョンアップメモを書くと書いたまま忘れてたので、いまさらですが、upしときます。

と、いっても当時(10か月前)の作業メモがちょっとしかなかったので、そこに書いてる範囲内のないようです。

(ちなみに、今って最新版は 1.2.3.8166 にまでなってるんですね。時間ある時にアップデートしなくては。。。)

まず、バージョンアップ時に参考にさせてもらったのが、「CakePHP1.1 to 1.2」発表資料PDFと、blog.katsuma.tv:CakePHPを1.1から1.2へ上げるときの注意点 です。

CakePHP1.1 to 1.2」発表資料PDFにあるように、app ディレクトリ配下を 1.2 にコピーします。

そして、1.2 では view ファイルの拡張子が、thtml から ctp に変更になっているので、そこを修正します。

また、ヘルパーも $html だったのが、大部分 $form に移ったようなので、そこも修正します。

特にヘルパー関連が大幅に変わったのですが、これでだいぶ楽になった部分もありました。

たとえば、1.1 時代には $html->selectTag で select タグを生成していたのが、$form->input('モデル' , array('type' => 'select' , 'label'=>'' , 'options' => コントローラから渡された変数 , 'selected' => '初期値' , 'empty'=>'初期値空の時の文字列')) という感じで、input で出来るようになった点などです。

これで実行したら、

Warning (512): Cache not configured properly. Please check Cache::config(); in APP/config/core.php [ファイルパス\cake\libs\configure.php, line 628]

Code | Context

$boot=true

$vendorPaths=null

$pluginPaths=null

$helperPaths=null

$viewPaths=null

$componentPaths=null

$controllerPaths=null

$behaviorPaths=null

$modelPaths=null

$cache=false

if (empty($cache['settings'])) {

trigger_error('Cache not configured properly. Please check Cache::config(); in APP/config/core.php', E_USER_WARNING);

以下省略....

みたいなエラーが発生しました。

これを解消するには app\config\core.php で下記のようにすればいいそうです。

Configure::write('Cache.disable', true);

バリデート周りも 1.2 で大幅に変わりましたが、このバージョンアップ時には 1.1 でバリデートはまだ作ってなかったので、特に問題ありませんでした。