SlideShare a Scribd company logo
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コンポーネントのAccessDeniedException。
Questionヘルパー(Console)
実行者に入力を求めることができる
Questionヘルパー(Console)
実行例
KernelTestCase
WebTestCaseから::createClientを除いただけ。Commandのテストとかに使おう!
その他にもバリデータの追加
など改善点多数!
ありがとうございました!

More Related Content

PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
Symfony Deployment with Capifony #symfony_ja
PDF
Symfony勉強会#9 form
PDF
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
ODP
Symfony2 introduction
PDF
Symfony2 intro-20111204
PDF
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
PPT
symfony 1.2を支えるサブフレームワーク
2024 Trend Updates: What Really Works In SEO & Content Marketing
Symfony Deployment with Capifony #symfony_ja
Symfony勉強会#9 form
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
Symfony2 introduction
Symfony2 intro-20111204
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
symfony 1.2を支えるサブフレームワーク
Ad

Symfony 2.5について