(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 でバリデートはまだ作ってなかったので、特に問題ありませんでした。