Symfony 勉強会 #8 に参加&開催してきました
先日5/25日に、Symfony 勉強会 #8 に参加、またワークショップの講師としてお手伝いしてきました。
会場はいつもお世話になっている 株式会社 VOYAGE GROUP さんでした。@brtriver さん会場の手配ありがとうございました。
前半
まず、前半には2つのセッション「Symfonyの基礎」と「Symfonyの最新情報」で、Symfonyというフレームワークがどういうものなのかというお話を、@hidenorigotoさんと@brtriver さんにお話いただきました。
「これだけは押さえておこう!Symfonyの基礎」
@hidenorigoto さん
http://phpmentors.jp/post/51433385026/8-symfony
まとめ→ Symfonyは良い線をいっている
「Symfony最新動向」
@brtriver さん
スライド等はないですがブログはこちら
http://d.hatena.ne.jp/brtRiver/20130529/1369842211
前半の話から
Symfony界の大御所お二人の安定感ある非常に分かりやすいお話でした。
基礎に関しては@hidenorigoto さんのスライドを見て頂くとして、お二人のお話で共通して話題となっていたのは、安心してつかえるフレームワークと言う点ですね。
- フレームワーク自体がしっかりテストされていること。
- 「リリーススケジュールが示されている」こと
これら2点はバージョンアップを重ねていくオープンソースのフレームワークを使う側としては、これらがきちんとサポートされているのは非常に安心できるのではないでしょうか。
【参考】
Symfony2本体コードのテストページ(Travis CI)
https://travis-ci.org/symfony/symfony
※テストが落ちていることもありますが、それは機能している証拠です
【参考】
Symfonyのリリーススケジュール
http://symfony.com/doc/current/contributing/community/releases.html#schedule
後半ワークショップ
こちらは私の担当でした。 当日ワークショップで内容については、私のgithubのサンプルリポジトリのwikiにてご確認いただけます。
ブログチュートリアル
https://github.com/okapon/symfony-workshop/wiki
また実際に動くコードをダウンロードしていただくことも可能です。Gitでtagを打っているので、wikiの各章とtagのpart1~8の対応を見ながらソースの変更を追いかけることもできます。
タグごとのアーカイブ
https://github.com/okapon/symfony-workshop/tags
完成形をまるっとDLしたい方は中央の、ZIPよりアーカイブをダウンロード下さい。
ブログチュートリアルのリポジトリ
https://github.com/okapon/symfony-workshop
このチュートリアルは初めてSymfonyに触れる方を対象にしているため、例えば「本来SymfonyのFormの組立ならこう書く」みたいな話であったり、本来WEBアプリケーションとして考慮すべきことは割愛しています。
最後の15分ほど準備不足で駆け足で進めましたが、ほとんどの方がCRUDのあたりまで作りきることができたようです。
ワークショプの合間合間に教えて頂いた@brtriver さんの tipsが本当に素敵でした。
- コマンドは重複がなければ省略形でも実行可 (app/console router:debug なら app/console r:de)
- プロファイラーは過去のものも見れる
私も知らなかったので勉強になりました。
LT
- ○○を支える技術 - Symfony導入事例 - by @_nishigori
- 「Profiler が無いと開発できないカラダになってしまいました」+「DIを用いてクラスを差し替えられるお話*1」 by @brtriver
ProfilerについてはMySQLのEXPLAINが見れることの実演など
【参考】
BEAR.Ace: Ace online editor utility for PHP
https://github.com/koriym/BEAR.Ace
app_dev.phpに1行追加するだけで、syntaxエラーが発生した場合に、WEB上でエディタを立ち上げて編集できてしまうのはすごかったですね
謝辞や感想
初めてのワークショップの講師でしたが、@hidenorigotoさん、@brtriverさん、@_nishigoriさんにサポート頂きなんとかやり切ることができました。
また、Symfonyに興味を持って集まってくださった皆様ありがとうございました。
最後にDIを用いてサービスをつくる部分に関しては、本当に口頭のみの説明となってしまったうえ、私自身の力不足でDIの良さ、がコントローラー側に漏れ出さないようServiceを作ることなど十分に伝えることができなかったので、@hidenorigoto さんにサポート頂きました。ありがとうござます。
感覚的になんとなくDIやドメイン駆動設計の良さを感じているだけでは、いざ自分の口で表現しようとした時に十分伝えきることができないのだということを改めて感じました。
ブログでの情報発信や勉強会での発表を通して、磨いていきたいなと思いました。
次回はLTにも挑戦したいですね。
せっかくですので宣伝というか宣言しておきます。
こちらの日本Symfonyユーザー会のblogチュートリアルが古くなってしまっているので、今回のワークショップで作成した内容をベースに書き換えていきたいなと思います。
最後に
Symfonyを使っていて分からないことがありましたら、Symfonyユーザー会のメーリングリストまでお気軽にご質問下さい。
https://groups.google.com/forum/?fromgroups#!forum/symfony-users-ja
P.S. しんふぉにゃんかわいい
(公開後追記)
当日中や翌日にさっそくブログを書いてくださった方々もいらっしゃいます。
http://shiro-goma.hatenablog.com/entry/2013/05/26/005456
http://blog.livedoor.jp/ryo511-web/archives/27470234.html
http://tdak.hateblo.jp/entry/20130527/1369581393
http://frog377.hatenablog.com/entry/2013/05/26/211227
拙い講師でしたがトータルで見て、比較的満足度の高い勉強会となったようで良かったです。こういうのを読むと開催して良かったなと本当に思います。
私自身もいい刺激をもらうことができ、非常にモチベーションが上がりました。
皆様、ありがとうございました。