第4回Symfony2勉強会

ZyngaJapanさんにて開催されたSymfony2勉強会に参加して来ました。
普段、Symfony2を利用している訳ではないのですが、LTを含めて非常に勉強になりました。
復習がてら簡単な内容と感想を書き記しておきます。


■14:35〜Symfony + Behat(Bandle)でテストファースト開発@hidenorigotoさん
・Behatとは、シナリオBDD(振舞駆動開発)フレームワーク
テストファースト開発とは、品質確保のための手法ではなく、開発手法。
デバッグでechoやprint文を出力して確認を行うのであれば、テストコードを書いた方がお薦め。

(感想)
・私の現在のプロジェクトにて取り組んでいるのは、チケット駆動開発TiDD)です。
テストファースト開発については、検討している段階です。
まず個人的にテスト駆動開発入門に取り組んでみようかと思いました。


■15:20〜Symfony2フォームについて@fivestrさん
・symfony1.xのフレームワーク 
 マッピング、バリデーション、データベースへの保存
 データのマッピングはDoctrineに依存
・symfony2のフォーム
 Formコンポーネント、入力データのマッピングのみ 
・symfony2になって、柔軟性・拡張性に優れるようになった。

(感想)
・symfony2については、今朝から触れています、、。
ActiveRecordからData Mapperに随分変わったと感心していましたが、Formも随分変わったのですね。


■16:05〜PHPマイクロフレームワークSilex入門@brtriverさん
・Silexとは、Symfony2 のコンポーネントを利用して構築されているPHPマイクロフレームワーク
・PHP5.3の下記の特徴を利用
PHAR 複数のファイルをひとつにまとめる 
名前空間 
無名関数(クロージャー)

(感想)
brtriverさんが仰っていた、CodeIgniterのマニュアル、私も好きです。


■16:50〜 Symfony2でより良いソフトウェアを作るために@itemanさん
・"Build your App, not your Domain Models."
・Symfony2の特徴
 バンドル コンフィギュレーション サービスコンテナ(DIコンテナ) 機能テスト 独立したドメインオブジェクト
・独立したドメインオブジェクト
 Pure PHPオブジェクト バリデーションやORマッピングからの高い独立性 フレームワークからの影響を極小化
・何故フレームワークを使うのか?
"ソフトウェアの核心(The heart of software)はドメインに関係した問題をユーザの為に解決する能力である。"
ドメイン駆動設計の要点
 ドメインモデルはドメイン知識を深めながら反復的に深化させていく
 ドメインモデルと実装コードとがきちんと対応付けられるようにする

(感想)
フレームワークは、開発者が問題解決に集中できるようにするものであるというお話は、
非常に納得でした。
やはり、エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)は必読ですね。