O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
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のテストとかに使おう!
その他にもバリデータの追加
など改善点多数!
ありがとうございました!
Próximos SlideShares
Carregando em…5
×

Symfony 2.5について

4.319 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

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. ありがとうございました!

×