Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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.5からは...
2.5からは...
ツリーが開閉可能に(しかも状態を記憶してくれる)
エラーの有無がわかりやすくなった
特にこれ
エラーの原因が明確に!
例えばこんな時
2.4:フォームに無いフィールドでバリデーションエラーが起きると分かりづらい
(validation_groupsミスった時)
2.5からはエラーのパスが表示される
本フォームとは関係ないフィールドのエラーがマップされているのが分かる!
フォーム周りの改善
2. FormInterface::getErrors() の改善
2.4以前
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コンポーネントのA...
Questionヘルパー(Console)
実行者に入力を求めることができる
Questionヘルパー(Console)
実行例
KernelTestCase
WebTestCaseから::createClientを除いただけ。Commandのテストとかに使おう!
その他にもバリデータの追加
など改善点多数!
ありがとうございました!
Upcoming SlideShare
Loading in …5
×

Symfony 2.5について

4,225 views

Published on

Symfony 勉強会 #9 で発表した内容

Published in: Technology

Symfony 2.5について

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

×