FacebookでCakePHPの日本用グループができました

正確には数ヶ月前からグループは出来てたんだけど、野良っぽい感じだった。
今は、CakePHPコアチームの人も参加してるし、名前もCakePHP Japanというグループ名になり、正式っぽくなった感じ。

https://www.facebook.com/groups/304490963004377/

日本のフォーラムだとcakephp.jpの掲示板があるけど、やはり普段から使ってるFacebookの方が見る頻度も書き込む頻度も違うので、出来ればFacebookグループにも参加してもらえるとうれしいです。

投稿内容は自由で、今は技術的な質問から、アンケート(logを取る方法など)、勉強会情報、などが投稿されてます。

CakePHPコアデベロッパーMarkStoryさんのインタビュー動画

CakePHP1.3からコアデベロッパーになったMarkStoryさんのインタビュー動画が公開されてます。

http://twit.tv/show/floss-weekly/244

動画はダウンロードできます。
また、音声のみでもダウンロードできるので、それをiPhoneに入れて聴いてました。

彼の人柄が良く分かる面白いものになってます。彼は芸術系のカレッジを出てイラストレータ -> Webデザイナー -> プログラマーになった人。そんなバックグラウンドにも触れられています。
英語のみの1時間のものですが、すごく面白かったので是非聴いてみてください。


今年のCakeFestはやはり日本が有力候補っぽいですね。この中でも語ってました。

Cake1からCake2に移行した際に、Call to a member function body() on a non-objectエラーが出る場合の対応

Cake1.2からCake2に乗せ換えしていてはまった話。
エラーログに下記のようなメッセージが出てうまく表示できない場合、コントローラのresponseオブジェクトが存在しないのが原因。$this->response->body()をCakeのコアコードで呼び出すのでその時にresuponseオブジェクトが無いからメソッド呼び出しエラーとなる。

Fatal Error (1): Call to a member function body() on a non-object


理由は、Controllerのコンストラクタを下記のように記述しているからでした。。。。

function __construct() {
	parent::__construct();
}


Cake2からはコンストラクタにrequest,responseオブジェクトが渡されるのでそれを考慮しないといけない

function __construct($request, $response) {
	parent::__construct($request, $response);
}

いやー、はまったわー。保守もしたことがないコードの載せ換え作業は大変ですねー

CakePHP Adventカレンダー2012が開催されます

今年もCakePHP Adventカレンダー開催!
http://www.adventar.org/calendars/40

ハッシュタグ#cakeadvent2012 です

ネタは何でも良いので、まずは登録して正座しながら担当日を迎えましょう!

CakePHP3.0の片鱗が見えてきた

まだまだCakePHP3.0のリリースには時間がかかると思いますが(たぶんあと1年ぐらい)、だんだんと3.0の形が見えてきました。CakePHP3からはPHP5.4以上が必須になるようなので、ホスティング環境にかなり左右されそうです。さくらインターネットが今日ホスティングのPHP5.4対応を発表しましたね、そういえば。

今、分かっているものや検討中の情報をまとめます。

CakePHP3.0の機能を紹介するプレゼン動画(翻訳付き)

動画: http://www.ustream.tv/recorded/26673480
スライド: http://www.slideshare.net/josezap1/cakephp-30-embracing-the-future-15080099

先日開催したPHPMatsuri2012に、CakePHPコアデベロッパーのJoseさんを招待して講演してもらいました。
CakeFest2012でもCakePHP3の話はなかったのに!!
世界中のどこよりも早く聞けたのは、PHPMatsuriだけ。やっててよかったPHPMatsuri。

Composerでインストールから管理するまで

CakePHPリードデベロッパーのマークさんのブログ記事。
http://www.mark-story.com/posts/view/using-composer-in-cakephp-3-0
Composerベースで管理できるようにするそうです。いくつかコードがコミットされています。
https://github.com/markstory/cakephp/commits/3.0-composer

Modelの設計

CakePHP3からモデルがオブジェクトを返したり、クエリビルダーを提供したり、レコード/テーブルオブジェクトの区分けを設けるなど、変更点が書かれています。
https://github.com/markstory/cakephp/wiki/Model-api-changes
ここらへんの話は、上に挙げたJoseさんのプレゼンでも触れられています。
モデルの実装は、下記のリポジトリで行われています。
https://github.com/cakephp/cakephp/commits/3.0-database
コミットの日付を見ると、3ヶ月ぐらいまえにガシガシ書いてた感じ。クエリビルダの実装もされている。
https://github.com/cakephp/cakephp/commit/bfbf2cc0a2a311fc3ae3aa1501b4c8e2cb23b7d9

Router

リバースルーティングが遅いという問題の解決や、今後のルーティングの実装が検討されている。
https://github.com/markstory/cakephp/wiki/Router.next
ちなみに、英語だとルータじゃなくて、ラウターって言う人が多い。関係ないけど。。。。

CakePHP2 実践入門が発売されました!

技術評論社より、「CakePHP2 実践入門」が発売されました。
http://gihyo.jp/book/2012/978-4-7741-5324-7

2012/9/29に発売なのに、お前はなぜ今頃という感じではありますが、宣伝したいと思います。
いや、最初は在庫切れを心配してあまり宣伝しなかったんです(言い訳)


私は、17章「CakePHP1系からの移行」と、Appendix Aのチートシートを執筆しました。
17章のほうは、移行に関する注意点や、メリットなどを書いてます。チートシートは定数、Modelクラス、Controllerクラス、Viewクラス、CakeRequest/Responseクラス、グローバル関数を対象に、メソッドの引数やプロパティのデフォルト値がすぐに分かるように書いています。さらに、利用頻度が高いメソッドなどは、今までの開発経験を元にした利用例やTipsも盛り込みました。

書籍全体の構成を見ると、PHPは理解しているがCakePHPを初めて触る人向けのものが前半に、後半はさらに踏み込んでセキュリティやパフォーマンスTips、テスト、メール、ソーシャル連携など、CakePHPを普段から使っている人にも役立つ内容の構成になっています。最新のCakePHP2.2に対応する唯一の書籍です。

今回、執筆はマークダウン形式のフォーマットで、編集者含めてgithubを使いこなし、議論はFacebookグループでやりました。
書籍のコードもGithubで管理しています( http://gihyo.jp/book/2012/978-4-7741-5324-7/support )。


この本、2011年の年末に執筆者が集まって章立てと担当を決めて、2012年の4月に発売する予定でしたが、色々と追記したり、ただのメソッドの羅列だったチートシートがいつの間にかCake辞典みたいになったり、CakePHP2.2がリリースされたり、なんだりで、9月まで発売がずれ込みましたが、すごく良い書籍になったと思います。
特に編集担当者の熱意がすごくて、最後は自分が読者になってコードを全て実行したり、不明点を洗い出してくれたり、よくここまでやるなと呆れるほどの熱量でした。


他の執筆者の記事一覧はkaz_29さんのブログにまとまってます。
http://kaz29.hatenablog.com/

CakeFest2012が開催されました

9/1,2とイギリスのマンチェスターで CakeFest2012のカンファレンスが開催されました。今年は去年と同じ場所でした。
今年も発表しようかと思ってたけど、色々な要因で参加しないことにして、その代わり、ライブ配信チケットを2万円ぐらいで買って家で見てました。ライブ配信はよく途切れたりして見るのが大変でしたが、後からアーカイブで見れるらしいので期待しておきます。


海外の人が書いている参加報告で熱心に書いてあるブログを紹介します。これを読めばざっと全体がつかめるかも(まだ読んでません)
http://mcloide.wordpress.com/2012/09/01/cakefest-manchester-uk-2012-conference-notes/
http://mcloide.wordpress.com/2012/09/02/cakefest-2012-conferences-day-summary-round-2/


あとは、発表者で行った安藤さんと岸田さんのブログ
http://blog.candycane.jp/archives/1557
http://blog.candycane.jp/archives/1584
http://my.opera.com/sizuhiko/blog/2012/09/02/cakefest2012

お疲れ様でした。


CakeFest会場と僕の自宅とを結んで、CakeRadioGaGaを収録しました。色々と面白い話が入っているのでチェックしてみてください。Cake3の方向性やモデルの話などしています。
動画のアーカイブは安藤さんの下記のブログに貼り付けてあります。
http://blog.candycane.jp/archives/1584

過去の参加報告

2010年、2011年とCakeFestで発表したんですが、ブログに2011年の参加報告書いてなかった。。。
とりあえず2010年の参加報告はこちら
http://d.hatena.ne.jp/cakephper/20100916/1284607026