と、いうわけで。
3月13日に開催されたCakePHP関西workshopに参加してきました。
CakePHPの初歩(インストールとか)からプラグイン実装とかまでを実際にコーディングしながらやっていこうという感じです。
「こいつはっ!」と、勇んで参加してきました(・∀・)

workshopでは、MySQLのパスワード忘れてたり、MAMP環境だとCakeのdb設定でportにsocketを指定しないとbakeがエラーになるとかで午前中はほとんど追えずに格闘してました。。。
ちなみにMAMPでbake時にmysqlに接続できない場合の対処はこちらを参照。

感想としては、実際の書き方がこんな感じなんかな〜ってなったのがすっごい収穫でした(・∀・)
authcompornentとかまでいけなかったのは残念だったけど時間的にもさすがに。。。

githubでwikiやったりサンプルソースを用意したりってのは素敵でした!
チャプター毎のソースをブランチきって使ったり、diffで今回はココにこんなの追加したよ!って見せ方も分かりやすくて途中から追った身としても助かりましたw
しかも内容がすごくて…これだけでもかなりの成果物ですよ!

丸一日(朝9時から17時まで)で弁当つけて1000円という異常な価格(いい意味で!!)でこの内容を提供されるとたまらんです(・∀・)
主催のslywalkerさんやお手伝いされていた皆さん。
ほんと、ありがとうございました!!

とりあえず、メモってたのを貼っておく。
色々やってたんで抜けだらけだけど。。。
時間なかったからtypoは気にしない(・д・)しゃーない
あと、内容の正確性は保証しません。。。

最初の方で紹介されたCakePHPの複数形を確認するやつ。

http://www.cpa-lab.com/tech2/inflects/

新着のmodel作ろうとした際にnewsの複数形で悩んだ自分には助かるなー。

bakeは既存のapp/を使わない。
cake bake project
作ればSecurity.salt変えてくれたりappControllerとか用意してくれるから。
これはまったく知らなかった!

モデル->find(“list”);にオプションでラベルを指定。
title とかnameってフィールドもってれば自動でそれがラベルに。
modelでも指定可能($displayField=’hogehoge’って感じ)。

paginate(これずっとpagenateかと思ってた)
conditionsは array(‘id’=>array(2,3,4));でin(2,3,4)とか
array(‘NOT’=>array(‘id’=>2));とか色々素敵。
なんでSet::marge使うよろし

$paginator->options( array(‘url’=>$this->passedArgs))でURLに値をつけたまま2ページ目とかみたい。
絞り込み検索とか。

ヘルパーのlinkは自動でescape.
それ以外はh()。
配列にキクの便利な。
htmlspecialchars($str,ENT_QUOTES,”UTF-8″);
何ならbakeのテンプレをvenderのshellに入れればいいよ。好き勝手にできるよ。
bake使わない派->結局書き直すじゃん->テンプレ書き換えれよ。
1.3からはbake時にテーマを選ぶみたいな機能がつくらしい。

ContainableBehaviorビヘイビアで早くなるらしい。
アソシエイションの最適化っぽい感じ?
Chapter5までのソースをDLして急いで追いついてたのであまり聞いてなかった。。。

MediaPlugin ファイルアップロードらしい。
app/config/にmedia.phpをコピペしてこっちを書き換える。
PEARを直接書き換えた自分には耳に痛い。
app/models/にattachment.phpをコピペ。
色々と設定を変更。
actsAsは
destinationFIleでファイル名変更。日本語ファイル名がうざいから。
validateは
locationをコメントアウト。
extentionをあれ。
mimeTypeも。
とりあえず、さわるのが多過ぎる…。絶対ビヘイビア読み込みとかでいけるハズやのに。。。
※一度やっちゃえば楽だって。確かにそだった。。。

$form->create(‘Post’); を$form->create(‘Post’,array(‘type’=>’file’));に変えてenctypeつける。

echo $this->element(‘attachments’,array(‘plugin’=>’media’));
普通にTagの後におくとTagになってまう。
せやけん、
echo $this->element(‘attachments’,array(‘plugin’=>’media’,'model’=>’Post’));

extention ->extension でエラー。かぶるから注意。
TransferBehavior::_replaceMarker – Failed to replace all markers of subjectなんちゃら〜〜
これでたらextensionをextentionって書いてますよ!

そんなところであれです!

LT(?)
webなんたらかんたら
お二人でやってるwebラジオ
cremaさん、こないだ参加してたらしいwどうりで帰京が遅かったハズだ(・∀・)
1×1plugin 自作プラグイン。こーゆーのもフレームワークのエエトコだよね

落として上げたら動く
APCとかmemcachedとかいわれるYiiには痛い話。

・残念なトコ
PHP4対応。
重い(´・ω・`)

Ajaxヘルパー(prototype.jsってのが…)
彼氏がprototype.js使ってた。別れたい。みたいな感じか。
※1.3からjQueryがデフォルトに変更だって。
viewがただのphpじゃん。

まぁ、とにかくなんか作れ!

関連する記事はありません。