昨日(6/25)CakePHP2.0 勉強会@Tokyoに参加してきました!
CakePHP2.0 勉強会@Tokyoに参加してきました!
会場をお借りした、トライコーン株式会社様、ありがとうございました!
下記記事に関して、間違いがあると思うので、ご意見・ご感想・指摘等ありましたらお気軽にコメント、はてなブックマーク、RTお願いします!
Introduction
- 電源タップがやはり少ないらしい。
- 無線LANも会場のをお借りしましたが、他の回線があれば嬉しいらしい。一箇所に集中してしまうと回線が遅くなりますからね。
CakePHP2 の特徴
[twitter:@hiromi2424]
CakePHP2.0について
- 互換性を保持している。
- 移行も簡単にできる。
- 疎結合化
- リクエストとレスポンスをオブジェクト化
- Authは分割された 認証と承認
- Authenticate
- Authorize
- ObjectCollectionの登場
- ヘルパー、コンポーネント、ビヘイビアを動的に読み込める
- DIっぽい。
- 割といろいろな書式を読むよ!!
- Lazy Loading
- モデル読み込みの遅延 <- 重かった <- LazyModel(PlugIn)
- コアでLazyLoadingをサポート。
- PHPUnitの利用
- CakePHP2開発陣は前方互換な方法を保持することに尽力している。
- LazyLoadingする、しないの指定ができる。
ハンズオン
- DB作成
- ./app/Console/cake schema create < 私はここまでしか追えなかった、残念!
- bake
- 完了!
- CakePHP2になって、$formが$this->Formになった。
- AuthComponentについて、2.0で手が入った。
- コンポーネント指定時に、設定値を入れることができる。<- 1.3から?
- デフォルトでハッシュ化しなくなった。
- loginにて$this->Auth->login();を記載しないといけない。
- 半自動になった。
- RequestオブジェクトでHTTPのメソッドを判別できるようになった。
CakePHP2.0まとめ
- 旧バージョンと似ている感じで組める。
- AuthComponentの設定が必要な箇所が増えたので注意。
- login
- passwordのハッシュ化
- その他諸設定
今日のセッションの振り返り+α
- バリデーションlastの扱いが変わった。
- 2.0からバリデーションエラーがすべて表示されるようになった。
- ページネータがコンポーネント化された
- 例外を利用するようになった
- Configのcore.phpのなかで、例外と表示の対応ができるようになり、エラーごとに表示を設定できるようになった。( try catch 書かなくて済むとか、なるほどと思った。 )
- Configのcore.phpのなかで、例外と表示の対応ができるようになり、エラーごとに表示を設定できるようになった。( try catch 書かなくて済むとか、なるほどと思った。 )
- gettextはデフォルトでechoされなくなった。
- FormヘルパーにpostLinkができて、使える。
- $this->request->is を拡張して、様々な判定に使えるようになる。(ktaiなど。)
- 1.3 -> 2.0
- コピーして、upgradeシェルを走らせ、Configの設定をすればできる。後は、Auth。
CakePHP2.0 で初めてのテスト
[twitter:@mon_sat]イベント主催者
- 会社がテストを書かせてくれない人もいる。
- テストを書くとはメンテナンスがしやすい。
- CakePHP2.0ではPHPUnitを利用するようになる。
- pearでインストールできる。
- cake bake fixture でfixtureを作成できる。
- テスト書いていないとエラーになる。(テスト未記述エラー)
- SimpleTestからPHPUnitに変わったため、メソッド名が変わる。CakePHP2.1で削除されてしまう。
- bake test controller コントローラのテストが生成できる。
- でも、生成されたコントローラのテストは動かない。バギー!
- セッション、クッキーがからむテストについてどうするのか質問があったが、できるみたい。未実装?
ロード第1章
[twitter:@cakephper]
- $this->request->is('post')の拡張
- $this->request->addDetector で拡張できる。
- http://kanael.net 作りました!
- 今日の話の内容
- ファイル探索
- ファイルのインポート load require
- インスタンス生成
- App::build 標準以外のPATHを読み込む。
- キーの名前が2.0で変わる。
- App::import
- App::import('Controller', 'UserGroup');など
- パフォーマンスの問題で、2.0から階層を再帰検索しないようになった。
- App::buildで正しく記載する。
- ファイルのIMPORT
- 以前はすぐに読み込まれたが、今後はクラス利用時に遅延で読みこむようになった。
- AutoLoading
- __autoload() 未定義のクラスを利用しようとした際に呼ばれるでもできる。
- App::uses() でクラスの宣言がなされ、autoloadで利用されるようになる。
- App::load() が spl_autoload_register() が呼び出される。
- 詳しくはパーフェクトPHPを読んでください。
- 作者: 小川雄大,柄沢聡太郎,橋口誠
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/12
- メディア: 大型本
- 購入: 32人 クリック: 1,065回
- この商品を含むブログ (59件) を見る
- LazyLoading
- まとめ
- 速くなる!
- App::importで再帰的に読み込まれなくなったので注意。
- http://www.facebook.com/CakeRadioGaGa で僕と握手!
- 似たサイトが発表されたがメモを取り損ねた!!誰か教えてください!!!
まとめ
- CakePHP2.0の書式は1.3と似ているので、1.3を知っていれば組めるんじゃないかと思います。
- CakePHP2.0のテストについて、修正して名を馳せるチャンスですよ!!
- LTでも準備しないと失敗する。(本当に酒の勢いを借りないとあののりはなかった。)
参加された皆様、先日は本当にありがとうございました!