第2回Symfony2勉強会の Part 1 を振り返ってみたら思いのほか大変だった。
第2回 Symfony2勉強会 (1/15)に参加いたしました。
関係各位方々、当日はありがとうございました!Zynga Japanの皆様も会場ありがとうございました。
ほんの少しではございますが、当日やったことをまとめてみたいと思います。
環境構築
こちらのページ等を参考に、環境設定をしておきます。
jiskaのメモ書き symfony2をローカルで動作させる環境をサクッと作る
秋元 Windows+XamppでSymfony2開発環境を作る
第2回Symfony2勉強会のシナリオを参考に進めます。
こちら に上記の Part 2 までのファイルがあるようです。ご参考願います。
Part 1 のおさらい
Part 1 の内容は押さえていますが順不同です。申し訳ありません。
1. サンドボックス配置から動作確認まで
Symfony2サンドボックスからファイルを取得し、
サンドボックスを配置し、動作確認までします。
2. バンドル登録
サンドボックスフォルダ直下にて下記コマンドを入力しバンドルを作成します。
バンドル名は任意ですが、最後は必ず、Bundle で終わるようにしてください。
php app/console init:bundle Application\\BlogBundle
src/Application 直下に BlogBundle が出来上がります。
このバンドルが動作するようにバンドルの登録と、app/config/routing.yml の設定をします。
2.1. バンドルの登録
app/AppKernel.php の
// register your bundles
の記述の下に下記を追記します。
new Application\BlogBundle\BlogBundle(),
2.2. app/config/routing.yml の設定。
app/config/routing.yml の末尾に下記を追記してください。
blog: はファイル内で重複しないようなものにしてください。
blog: resource: BlogBundle/Resources/config/routing.yml
3. DB(MySQL)の設定
app/config/config.yml の doctrine.dbal と doctrine.orm の
コメントを外し、それぞれ設定します。
doctrine.dbal: driver: PDOMySql dbname: (お好みのDB名) user: (おそらくDB作成権限保有ユーザ) password: (上記ユーザのパスワード) doctrine.orm: auto_generate_proxy_classes: %kernel.debug% mappings: BlogBundle: ~
BlogBundle は今回作成したバンドル名を指定してください。
バンドル名は、上記で実行した下記のコマンドの BlogBundle の部分。
php app/console init:bundle Application\\BlogBundle
上記で設定したお好みの DB名は次のコマンドで生成することができます。
登録してみましょう!
php app/console doctrine:database:create
4. テーブルおよびEntity(モデル)登録
BlogBundle 直下に Entiry フォルダを作成し、こちらの Article.phpのファイルを配置してください。
次に下記コマンドを実行すると先ほど作成した DB にテーブルが作成されます。
php app/console doctrine:schema:create
上記 Article.php のファイルを見てみると、特徴的なコメントが見受けられると思います。
これがじつは肝で、Symfony2 に入っている Doctrine2 がこのコメントを読み取り、
テーブルを作成することができています。
詳しくは下記を参照願います。
5. コマンドによるサンプルデータの登録
BlogBundle 直下に Command フォルダを作成し、こちらの CreateArticleCommand.phpのファイルを配置してください。
配置したら実行してみましょう!php app/console を実行してみると
blogbundle :create-article
が追加されていると思います。ディレクトリ/フォルダを作成しただけでコマンドが増えました。
素晴らしいですね!実行してみましょう。
php app/console blogbundle:create-article
テーブルのデータを確認すると確かにデータが登録されているかと思います。
コマンドについては下記を参照願います。
参考ページを募集中 :)_
X. 終わりに
これだけでも記事を作成するのは気力が入りますね。
追記、修正箇所等ございましたらお気軽に [twitter:@JP_tomo] までご連絡お願いいたします。
Part 1 のみではございますが、最後までお付き合いくださいましてありがとうございました。
Part 2 , Part 3 は誰か助けてください! :)
では、いつかどこかで。
以上