For Want Of A Better Word

CakePHP2.0導入 ① 1系と2系の違い

      2015/04/19

[参考サイト]2.0移行ガイド http://book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html

環境

  • CakePHP 2.xはPHP 5.2.8 (4系はサポート対象外)

ファイル名・フォルダ名

CakePHP 2.0では、ファイルとフォルダの構造化をする方法を考えなおしました。 PHP 5.3が名前空間のサポートをしていることから、このPHPバージョンを近い将来採用するのに、コードベースを準備することに決めました。 従って、 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md を採用することにしました

なにを言っているのかよく分からないが、以下ファイル名・フォルダ名の詳細
【参考】http://cakephp20sysnsa.blogspot.jp/2012/05/cakephp2x.html

ファイル名
  • ファイル名とクラス名がイコールになる。(もともとクラス名はキャメル型、ファイル名は「_」区切りだったのが、どっちもキャメル型になる。)
フォルダ名
  • クラスを含む「Controller」「Views」フォルダは、キャメルケース。
  • クラスを含まない「webroot」のようなフォルダは小文字。

エラーハンドリング

フレームワークの至るところに例外が導入され、エラーハンドリングはよりコントロールできるように、柔軟に書き直されました。

CakeLog

ログのストリームは CakeLogInterface を実装(implement)することが必要になりました。 設定されたロガークラスがこれをしないと、例外が発生します。

FormHelper

フォームのデフォルトURLが現在のアクションに

全てのフォームのデフォルトのURLは、passed、named、そしてクエリ文字列パラメータを含む現在のURLになりました。 $this->Form->create() の第二引数に $options[‘url’] を与えることによって、このデフォルトを上書きすることができます。

基本は自画面遷移ということか。

FormHelper::hidden()

隠し(hidden)フィールドはclass属性を削除しないようになりました。 これは隠しフィールドにバリデーションエラーがある場合は、 error-field クラス名が付与されることを意味します。

などなどいっぱい、いっぱい。

感想

新規に使おうとしている人はまあいいけど、1.3からの移行ってめっちゃ大変じゃないかこれ?

 - cake, php, 違い

  関連記事

php-logo
PEARの使い方

http://www.phpbook.jp/pear/command/ コマンド …

php-logo
【PHP】$_Serverの中身

 

cakephp_logo
CakePHPでjoinしようとしたときのエラー 【Notice (8): Undefined offset: 0 [CORE/Cake/Model/Datasource/DboSource.php, line 1714]】

Cakeでfind()からjoinしようとしたときに下記Noticeが出て、検索 …

php-logo
PHPの名前空間

※PHP5でオブジェクト指向がサポートされてからの概念。スコープとは違います。 …

mysql-logo
【PHP】【DB開発メモ】PDOの検索結果からHTML<table>の作成

resultから項目名でthを作って、valueでtdを作る処理。 ざっくり表示 …