たきゃはしです

もう日常ブログにしよう

CakePHP1.3からCakePHP2へ 開発方法の微妙な違い簡単まとめ


この記事は今までCakePHP1.3を使っていた人が、これからCakePHP2を使うための簡単なまとめです。「なんか変わってるし不安やん・・・」という見えない心の壁をぶち壊しましょー!

フォルダ名とファイル名の命名規則が変わった


まず、CakePHP2をインストールすれば気付きますが、いきなりファイル・フォルダの命名規則が変わってますね〜。私はこれを見てCake2のヤル気が30%下がりました。笑


でも心配いりません(*´∀`)逆に楽になったなぁと私は思います。
アンダースコア記法がアッパキャメルケース記法に変わっただけです。
そしてコントローラについては、ファイル名とクラス名が同じになりました!(分かりやすいね


論より証拠、実際の例がこちらです

  • CakePHP1.3系
    • ファイル名:hoges_controller.php
    • クラス名 :HogesController
  • CakePHP2.X系
    • ファイル名:HogesController.php
    • クラス名 :HogesController


どえええええ、めっちゃ簡単なっとる!!!
あ、ちなみに1.3系の書き方も対応してるようです(*´∀`)

$this->data の場所が変わった


Cakeを扱うプロジェクトで$this->dataを使わないケースはないでしょう。その$this->dataが変わるなんて・・・しかし大変な事はなかった。

  • CakePHP1.3系
    • $this->data
  • CakePHP2.X系
    • $this->request->data


と、少し冗長かと感じましたが・・・

すべてはCakeRequestにまとまった!


CakePHP1.3系:CakePHP2.0系
$this->data:$this->request->data
$this->params['url']['url']:$this->request->url
$this->params['contoller']:$this->request->controller
$this->params['action'] or $this->action:$this->request->action
$this->params['pass'] or $this->passedArgs:$this->request->pass
$this->params['named'] or $this->passedArgs:$this->request->named


上記の通り、上手くまとまっています!冗長どころか美しい!!嬉しい変更です(*^^)v


また、RequestHandlerComponentにあった「isPost()・isGet()」などは「$this->request->is($type)・・・$typeには'post'や'get'」とCakeRequestにまとめられました。


以上です!


たったこれくらいの変更でも頭に入っているだけで2.Xでの開発は大丈夫かなと楽観してます。基本的な書き方は変わっていないので・・・それでもConfig/email.phpでEmailComponentの設定ができそうだなぁ〜とかまだ検証していない部分だらけですので、これから触れていきたいと思います。


それでは〜(*´Д`)