Symfony 2.5について新機能とか変更点
@Issei_M
自己紹介
● Issei_M● 埼玉のベンチャーで働いています● Webとインフラと時々iOS● PHP歴:6年● Symfony歴:
○ 1.4:業務で3年ほど○ 2.x:趣味で2年、業務で3ヶ月
自己紹介
● Issei_M● 埼玉のベンチャーで働いています● Webとインフラと時々iOS● PHP歴:6年● Symfony歴:
○ 1.4:業務で3年ほど○ 2.x:趣味で2年、業務で3ヶ月
● LT初めて(←ここ重要)
● 2.3(LTS)から2度めのリリース● 2.4と同様、通常リリース
→8ヶ月のバグフィクス、14ヶ月のセキュリティ保守● 現在はBETA1、5月に正式リリース予定
Symfony 2.5の概要
フォーム周りの改善1. デバッグプロファイラの改善
2.4で追加されたフォームのプロファイラ
ツリーが開閉可能に(しかも状態を記憶してくれる)
2.4:フォームに無いフィールドでバリデーションエラーが起きると分かりづらい(validation_groupsミスった時)
2.5からはエラーのパスが表示される
本フォームとは関係ないフィールドのエラーがマップされているのが分かる!
フォーム周りの改善2. FormInterface::getErrors() の改善
2.5からはオプションが2つ追加された
クラス図
ルート(普通はここだけ変数に入れて使う)
エラーは大体末端のフォームにセットされる(単一選択は除く)
全部のエラーを1つの配列にまとめたくなったら...?
ルート(普通はここだけ変数に入れて使う)
2.4以前ではこんな感じで再帰的に処理しないといけないのでちょっと面倒
2.5からは第1引数を true にすれば一発!
※返り値が配列からFormErrorIteratorに変わっている点だけ注意!
配列を引数に取る関数やメソッドにそのまま渡すとエラーになる!
iterator_to_array で変換すること!
translation:debug
指定したバンドル&ロケールの対応状況が一目で分かる。
config:debug
指定したバンドルの現在のコンフィギュレーションをダンプできる。
yaml:lint
指定したYAMLファイルのSyntaxチェック。ディレクトリやバンドル名を渡すと一括チェックも可能。
未定義メソッドを実行した時のエラー
未定義メソッドを実行した時のエラー
もしかしてコレ...?
Controller::createAccessDeniedException()
HttpKernelのAccessDeniedHttpExceptionをスローする人が多いので追加されたのだとか。正しくはSecurityコンポーネントのAccessDeniedException。
Questionヘルパー(Console)
実行者に入力を求めることができる
Questionヘルパー(Console)
実行例
KernelTestCase
WebTestCaseから::createClientを除いただけ。Commandのテストとかに使おう!
その他にもバリデータの追加など改善点多数!