「基本からしっかり学ぶ Symfony2 入門」を買った。
- 作者: 後藤秀宣,金本貴志
- 出版社/メーカー: 技術評論社
- 発売日: 2015/12/16
- メディア: 大型本
- この商品を含むブログを見る
基本からしっかり学ぶ Symfony2入門:書籍案内|技術評論社
hidenorigoto/symfony2-book: 基本からしっかり学ぶSymfony2入門 サポートサイト
環境について
本書での確認環境は、
とのことだが、そのままやってもつまらないので
- PHP 7.0.2
- Symfony 3.0.1
- PostgreSQL 9.3.1
を使っている。
4-2 フォームの基本
$this->createFormBuilder()->add('name', 'text')
は第二引数にクラス名を渡して->add('name', TextType::class)
と書くようになったようだ。
choiceの時の引数が変わったようだ。
->add('type', ChoiceType::class, [ 'choices' => [ '公演について' => 0, 'その他' => 1 ],
4-3 メール通知機能の作成
app/config/parameters.yml
とapp/config/parameters.yml.dist
の違いは?
Gmailを使うのであれば、2段階認証を無効にした開発用メールアドレスを用意するという方法の他に、アプリケーションパスワードを設定しても良さそうだ。
5-4 BlogArticleの作成
レコードの追加時にエラーが発生した。
INSERT INTO blog_article(title, target_date, content) VALUES ('本年もよろしくお願い致します', '2015-1-3', '');
[2016-01-25 20:56:06] [23502] ERROR: 列"id"内のNULL値はNOT NULL制約違反です 詳細: 失敗した行は(null, 本年もよろしくお願い致します, 2015-01-03, )を含みます
blog_article
テーブル定義で、id
列にDEFAULT値が設定されていなかった。Doctrine ORMでは、@GeneratedValueのstrategyにAUTO、SEQUENCE、IDENTITYといったものがあり、PostgreSQLを使う場合はAUTOだとこうなる模様。
SEQUENCEにしても良さそうだけど、とりあえずデータの投入方法を以下のようにしてお茶を濁した。
INSERT INTO blog_article(id, title, target_date, content) VALUES (nextval('blog_article_id_seq'), '本年もよろしくお願い致します', '2015-1-3', '');