WHAT'S NEW?
Loading...

CakePHP勉強会「eat the Cake」第1回目のレポート

さる11月2日、弊社ライトアップでCakePHPの勉強会をやったんだ。
主催は俺で、こういったカンファレンスは初めてだったので、やや緊張はしたものの、生来いいかげんな性格なので、意外に大丈夫なんだなということがわかった次第。

というわけで勉強会のレポートをする。

使用したスライドは以下。


部分的に(マーカーなどが)文字化けしてしまっているので読みにくいかもしれないが、そこら辺は脳内エンコードが達者な日本人には特に注意しないでもご理解いただけると思うので、直さないでそのまま使用させていただく。



基本的に「eat the Cake」は、すでにCakePHPで毎日楽しくハックしている武将の為のカンファレンスではなく、これからフレームワークを導入したい、CakePHPをノックして間もないという、いわばCake兵長、Cake兵卒、ないしはフレームワーク入門者の為に行った。

なので、カンファレンス的には俯瞰した内容になっている。

ただ1点だけこだわりたかったところがある。
それは、その場でコーディングし、その場で機能を紹介することだ。

スライドの途中で2個のコーディング(メールフォーム、ログイン機能)があるが、まさにここが俺がやりたかった部分でもある。

入門者にとって何がネックになっているかというと、それは、書籍やブログなどに書いてある情報は、ただ脳内に記憶されただけの「情報」という「知識」でしかないので、いざ同じことをやってみるとなると、「情報」があることを「認識」し「検索」し、「実践」へと「変換」しながら「作業」するという流れになると思うが、もし一度でも経験していれば、「反応」から始まり「作業」ができるという、究極のショートカットを実現出来るからだ。

みんなにノートPCを持ってきていただきたかったのはこういう意図もあったのだが、今回いろいろ細かいミスが発生していて時間がなくなっていた。

だから実際には俺が一人でコーディングしているのをみなさんがプロジェクタで確認し、ノートPCでメモをとる、という形になっていたと思う。

ここらへんは次回開催時の注意点だ。

しかし、実際に目の前でコーディングすることにより、オレオレフレームワークなどの独善的構築をメインにしている人、他のフレームワークである程度こなれている人なども、CakePHPとはこういうモノなのか、というのがかなり体験できたのではないだろうか。

カンファレンス中出てきた質問が2個ある。
  1. Authコンポーネントを使用した最、IDとパスワード以外に、ログインさせないフラグなんかの指定をすることができるのか
  2. OAuthを使いたいのだがCakePHPにはその機能があるのか
だ。

まず1に関しては、AuthコンポーネントのuserScopeにモデルの条件を指定することにより可能となる。
例えば入力されたIDとパスワードがそれぞれusername、passwordだとし、さらにlogin_fが1じゃないとログインさせたくないとう条件も追加したい場合は、以下のようなコードになる。
// ログイン許可の追加条件
  $this->Auth->userScope = array(
    'User.login_f' => 1,
  );
この代入を予め行なっておけば、username、password、login_fの3つの条件が満たされた場合のみログイン可能という設定ができる。
なかなか便利である。

そして2つ目のOAuthだが、CakePHP自体にはOAuthの機能はない。が、検索するとすぐに出てくる。
実際のところOAuthを使っているメジャーどころはTwiterしかない。だからTwitter専用だとしても今のところは問題ないと思う。今後どうなるのかは、そのOAuthの複雑さからして検討つかないが、さらに簡略化されたものが出現するのかも知れない。

http://www.google.com/search?q=CakePHP%20OAuth
こちらで検索されたし。

それから実際にコーディングしたソース一式をダウンロード可能にしておいた。
ただしユーザランドのapp/しかいじってないので、app.zipとしてapp内のみを圧縮したファイルにしてある。
※CakePHPのバージョンは1.2.8

何度でもダウンロード可能なので、ご自由に。

http://sites.google.com/site/torhamzedd/home/filecabinet
ここからダウンロード可能。


さいごに、今回の反省点と次回の話をしておきたい。

今回の反省点は、まず会議室がカンファレンス直前に別のセミナーが入り、そのセミナー終了時刻が30分以上伸びてしまった。
したがってカンファレンスの開始が著しく遅れてしまった。
着てくださった方には本当にご迷惑をおかけしたことをお詫び申し上げたい。正直すまんかったです。

実は弊社は火曜日、金曜日にセミナーをよくやっているのだが、翌日が祝日ということで、つい良く考えずに火曜日に会議室をとってしまった俺自身もよろしくなかったかと反省している。

ここらへんを踏まえ、次回からは

  • なるべく月初
  • 火曜日・金曜日は避ける

という形になりそうだ。金曜日を避けるのは正直痛いが、致し方ないだろう。

ところで次回をどうするか、だが、ネタとして考えているものが幾つかある。
どれも初心者などが引っかかりやすいのではないかと思える内容になっているはずだ。
  • モデルの操作
    • 複数モデルを1度に扱う時
    • 単数モデルを複数レコード扱う時
    • 複数モデルを複数レコード扱う時
  • formヘルパーである程度自在に表示させるコツ
両者ともそれなりに時間がかかると思うが、次回は2時間使い、省略できる内容は省略し、いきなりコーディングとにじりこめばいけるかな、とは思う。

名刺交換や自己紹介は、その後の懇親会でやればよいかな。

具体的な内容が決まり次第、ATNDで予約し、twitterなどで告知する予定。