TMD45'β'LOG!!!

Life is Beta-ful.

[勉強会PAPER]FuelPHP勉強会 東京に参加したぽよ #FuelPHPTokyo

f:id:tmd45:20120710004042p:plain
logo: MIT License (getting a base logo from fuelphp.com)

2012年7月8日(日)午後半日『FuelPHP勉強会 東京』に参加、ちょっとだけお手伝いもしてきました。
会場設営とハッシュタグ #FuelPHPTokyo盛り上げきれない盛り上げ役でした(違)。

会場は、渋谷 VOYAGE GROUP さんの会議室で、50人収容でも広さ余裕の「パンゲア」という部屋をお借りしました。VOYAGE GROUP さん改めて有難うございました!
お借りした部屋以外もすごく個性的で面白い会議室のたくさんあるフロアでした。社内バーがあったり(リアルゴールド飲み放題)、ガラス張りでシャンデリアのついた会議室があったり、はたまた壁がダンボールで出来てる部屋があったり・・・!フロア全体を BOAT(船?海賊船?w)に見立てたコンセプトらしいです。
某海賊漫画風に描かれた社員さんたちの集合絵が気になりましたw


会場や準備の話はこのくらいで、今回の勉強会メモ。


セッションとスライド

  1. 参加者全員の自己紹介タイム
  2. [twitter:@akagisho] さん:はじめての FuelPHP
  3. [twitter:@NEKOGET] さん:FuelPHP東京勉強会資料1 // Speaker Deckblog
  4. [twitter:@wakuworks] さん:FuelPHP 実践 Validation // Speaker Deckblog
  5. [twitter:@peketamin] さん:FuelPHPのフォームとか // Speaker Deck

勉強会メモ

注:Twitter のつぶやきを挟んでたり、まとめずに箇条書きしてるので長いです。あとで追記もするかも。

自己紹介タイム

趣味で使ってる人・仕事で使ってる人、両方とも多かった。PHP 自体はほとんどの人が仕事で使ってる人だったかな、フレームワークはやはり Cake っょぃ。Zend や Symfony1.x の人もいた。CodeIgniter も FuelPHP も業務で利用してる、って人がそれぞれ 1~2 人いて吃驚&羨ましい。
あと年齢が思ったより幅広い感じだった。若い人ばっかりかと思ったけど、壮年のかたもいらっしゃっているように見うけました。

ニコ生主の人とか、モヒロン毛(造語)で耳にフィギュア付けてらっしゃる方とか…!

ザワ…ザワ…
結構でかいのw

あと CodeIgniter から乗り換えた人多し。


各セッションにて

今回は流れに沿ったメモを作って無かったので、思いついた順に箇条書きで(;´∀`)

  • 「岡山バス路線案内」CodeIgniterで構築されている
  • 「文字列にキャスト可能なオブジェクトとは」→ __toString() を持つオブジェクト(←常識らしいよ!)

おー、言われてみれば。

  • OIL とは FuelPHP の強力で便利なコマンド。でも使わなくても OK(←これがいい)
  • Controller の各アクションの実行前後に共通して実行できるメソッド
    • before() アクションの呼び出し前に実行される。アクションが見つからなくても実行される
    • after() アクションの実行後、応答直前に実行される。アクションが見つからないと実行されないで終わる
  • 絶対パスの書き方 Uri::base(false); index.php がある場所までのURLを返す(. 'クラス/アクション/引数...' と続ければ OK)
  • QueryBuilder
    • メソッドチェーンで SQL を生成してくれる
    • SQL インジェクションの防止
  • Q「RESTの応答フォーマットの制限(xml と json しか使えなくするとか)って出来る?」
    • REST のコアクラス継承してフォーマットを持ってる array をごにょごにょするとか?
    • フォーマットの定義はそのままにしておいて、アクションかどこかで許可するフォーマット以外は自分でハジいてやればいいでないかなーと考えた。
  • Fuel の発音は日本人に難しい。でもキレイに言えてる人いるしぐぬぬ(個人の感想です)
    • フューェルでもフエルでもえぇやん…!(個人の感想(ry )
  • ドキュメントの日本語訳作業について
    • [twitter:@NEKOGET] さん「英語が読めない私のためにみんな日本語化がんばってね!」
  • UnitTestが出来てない理由いろいろ。書くタイミングが掴めない。cookieが絡んでくるとどうしたらいいのか分からない。結局 ver_dump…(感想)
  • oil test。PHPUnit で出来ることはだいたいできるはず。
    • Q「Jenkins とかと連携ってできるの?」A「PHPUnit でできることは大体できるので、多分できるはず」
    • 特定のテストメソッドだけを実行したい場合は@groupアノテーションを使うのもあり(ハッシュタグ情報)
    • 自分の環境にテストを作っておいたとしても共有リポジトリにコミットしなきゃおk(ハッシュタグ情報)

やだカッコイイ…///

命綱つけずにバンジージャンプしてることしばしば

  • Validation のはなし
    • validate run()後、errors()、validated()。error が合った場合の値は、errors()->value に入ってる。
    • _validation_ オリジナルルール メソッドの接頭辞(必須)
    • 独自バリデーション 接頭辞不要(例 クラス名:is_upper)
    • 無名関数を利用 → add_rule() の中に直接関数を書く
    • フィルタ後の値で比較したい → 普通に使うとフィルタ前の値で比較される
      • 独自ルールを作ってあげる。+エラーメッセージもセットで作ってあげる
    • 同じルールを別の入力方法に適用したときのエラーメッセージを変えたい。例:必須チェックルール:「{氏名}を入力してください」「{性別}を選択してください」とかの話
    • FuelPHP でフォームの値を配列で持っているときの Validate 処理に正しい方法ってあるの?
    • FuelPHP で Zend F/W の機能(ライブラリ?)を使う方法! → vendor にライブラリを放り込んで
  • 「引越しガイド」FuelPHP 1.1 で構築
  • FormよりFieldsetのほうがFWの恩恵を受けられるかも?
  • Orm Model:Formの設定とvalidationがの設定がセットで出来る
  • populate ポピュレイト
    • ポピュレイトすごく便利!
      • フォームに出したい値をひとつずつセットしてやらなくていい
      • エラー表示用のCSS class名も指定できる
  • DB のバックアップに Gmail のゴミ箱を使う?!
    • データをメールで送って保存する→30日で勝手に消える
  • 「わりとさくさく書けるフレームワークだからこそ、(必要になった)都度テストは書いたほうが良いと感じた」

vol.2 に向けて

  • 「月1回くらいやりたいと思います」「女性の方、あるいは女装の方が3倍くらいに増えるとスポンサーがつきます」
    • 女装じゃダメですか?とか聞いてスミマセンデシタ!確信犯!ヽ( ´ー)ノ フッ

たしかに!感謝!

  • 私もなにか貢献したい~!
    • 資料とか開催情報とかまとめられるサイト作成します(Wiki か何かで)。
    • 次回は私も何か発表してみようかな、とか。アワワワ。じ、時間があったら…:(;゙゚'ω゚'):


というわけで、さっそく次回の開催が楽しみです(´∀`*)ウフフ




('ω`)

▲ ページトップへ移動