Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yuichi Okada
PDF, PPTX
4,850 views
Symfony勉強会#9 form
Symfony勉強会#9で発表したスライド公開しました。余分なスライドを削除したなど一部改変もありますがなるべくそのままの状態でアップしました。
Read more
3
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 30
2
/ 30
3
/ 30
4
/ 30
5
/ 30
6
/ 30
7
/ 30
8
/ 30
9
/ 30
10
/ 30
11
/ 30
12
/ 30
13
/ 30
14
/ 30
15
/ 30
16
/ 30
17
/ 30
18
/ 30
19
/ 30
20
/ 30
21
/ 30
22
/ 30
23
/ 30
24
/ 30
25
/ 30
26
/ 30
27
/ 30
28
/ 30
29
/ 30
30
/ 30
More Related Content
PDF
EventListener使いこなし術 - Symfony勉強会#10
by
Yuichi Okada
PPTX
第4回Symfony2勉強会 基礎編ワークショップ.0
by
Yusuke Ueno
PDF
composerの遅さをまじめに考える #phpstudy
by
Hiraku Nakano
PDF
Composer並列化プラグイン #phpblt
by
Hiraku Nakano
PPTX
EC-CUBE次期バージョンから、しっかり学ぶ Symfony
by
Kentaro Ohkouchi
PDF
Symfony 2.5について
by
Issei Murasawa
PDF
Symfony Deployment with Capifony #symfony_ja
by
Tak Nishikori
PDF
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
by
Hiroshi Tokumaru
EventListener使いこなし術 - Symfony勉強会#10
by
Yuichi Okada
第4回Symfony2勉強会 基礎編ワークショップ.0
by
Yusuke Ueno
composerの遅さをまじめに考える #phpstudy
by
Hiraku Nakano
Composer並列化プラグイン #phpblt
by
Hiraku Nakano
EC-CUBE次期バージョンから、しっかり学ぶ Symfony
by
Kentaro Ohkouchi
Symfony 2.5について
by
Issei Murasawa
Symfony Deployment with Capifony #symfony_ja
by
Tak Nishikori
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
by
Hiroshi Tokumaru
Similar to Symfony勉強会#9 form
PDF
Symfony2 workshop-1
by
Hidenori Goto
PDF
Formとは何か?〜例えば、Symfony\Component\Formを避ける〜
by
77web
PPTX
Introduction of symfony development process & What's symfony 1.3?
by
Kousuke Ebihara
PPTX
第4回Symfony2勉強会 基礎編ワークショップ.1
by
Yusuke Ueno
PPTX
Symfony updates
by
Katsuhiro Ogawa
PDF
日本Symfonyユーザ会によるSymfony2 ワークショップ
by
Shin Ohno
PPT
symfony 1.2を支えるサブフレームワーク
by
Katsuhiro Ogawa
PDF
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
by
77web
Symfony2 workshop-1
by
Hidenori Goto
Formとは何か?〜例えば、Symfony\Component\Formを避ける〜
by
77web
Introduction of symfony development process & What's symfony 1.3?
by
Kousuke Ebihara
第4回Symfony2勉強会 基礎編ワークショップ.1
by
Yusuke Ueno
Symfony updates
by
Katsuhiro Ogawa
日本Symfonyユーザ会によるSymfony2 ワークショップ
by
Shin Ohno
symfony 1.2を支えるサブフレームワーク
by
Katsuhiro Ogawa
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
by
77web
Symfony勉強会#9 form
1.
Symfonyの Formあれこれ Symfony 勉強会 #9 岡田祐一
@okapon_pon
2.
自己紹介 • 名前:岡田祐一 (@okapon_pon) •
所属:株式会社クロコス エンジニア • 2013年∼ 日本Symfonyユーザー会 • Symfony歴 2年ほど
3.
私とSymfony • 2011年 7月
Symfony2.0 リリース そして出会う • 2011年 9月 Symfony作業場(翻訳会)に参加 • 2011年 12月 Symfony勉強会#5の前夜祭に参加 • 2012年 6月 Symfony勉強会 #6 スタッフとして参加 • 2012年 10月 Symfony温泉 (ドキュメント翻訳) • 2013年 5月 Symfony勉強会 #8 ワークショップ講師 • 2013年 11月 Symfony作業場(翻訳会)
4.
前回のワークショップ Symfony勉強会 #8 サンプルコード (ver.
Symfony2.2) https://github.com/okapon/symfony- workshop/wiki
5.
今日のお話 フォーム(Form)
6.
内容 • Symfony Formの特徴 •
Formあれこれ (Tips)
7.
Symfony Form 特徴 •
高度な抽象化 • さまざまな FormType • プレゼンテーションレイヤーの分離 • DIへの統合 • Validationの組み込み
8.
柔軟なモデルバインディング • モデルに依存しないデータバインディング • プレゼンテーション層とドメイン層の分離
9.
Data Transformers • Entity
Valueへ変換 • プレゼンテーション層とドメイン層の分離
10.
拡張性 • FormExtension • Symfony
DIでうまく統合
11.
イベント駆動 • EventDispatcherを内包 • 動的にフォームを組立可能 ! 各種イベント •
PRE_SET_DATA • POST_SUBMIT など
12.
Formあれこれ(Tips) このフォームどう実装したらいいの? Twigでformの値を得るには?
13.
規約への同意を確認したい 例)利用規約への同意確認
14.
規約への同意を確認したい • フォームにagreementというcheckboxフィールドを 定義 • mapped
オプションfalseでデータオブジェクトには マッピングしない
15.
規約への同意を確認したい • バリデーションを行うコールバック関数を EventListenerに登録 ※ FormEventsやFormErrorなどのクラス をインポートする必要がある
16.
カスタムFormFieldType • 再利用可能にする
17.
カスタムFormFieldType 定義 ! 利用 alias指定
18.
Delete機能でCSRF対策 例) 記事情報を削除する機能 Formの CSRF Protection
機能を使って CSRF対策を行う!
19.
記事情報をDBから削除するAction Delete機能でCSRF対策 CSRF対策
20.
Twig関数化しとくと便利 テンプレート側 ! ! loopの中で出したい場合 deleteでCSRF対策 20
21.
Twig で使える Form変数 21 各種フォーム変数へは、 form.フィールド名.vars.変数名 でアクセスできる 先ほどのCSRFの例では
form._token.vars.value
22.
• value: フィールドにセットされている値 •
label: labelに表示される値 • id: HTMLに表示される際のid属性 • required: required属性 など Twigで使える Form変数 22 その他フォーム変数はこちら http://symfony.com/doc/current/reference/forms/ twig_reference.html#twig-reference-form-variables
23.
Twigで使える Form変数 23 required属性がついているlabelタグには自動で *印をつけたい! (応用編)カスタムテンプレート化
24.
Formのカスタムテンプレート 24 作成の詳しい方法はこちら http://docs.symfony.gr.jp/symfony2/cookbook/ form/form_customization.html
25.
画像を選択させたい 例)ECサイトで商品を選択させたい
26.
Twigでつかう変数を工夫する!! Delete機能でCSRF対策
27.
画像を選択させたい FormType側
28.
画像を選択させたい テンプレート側 • form.itemに forでアクセス(選択項目のFormViewを取り 出す) •
form_widget(item)を使って必要なradio boxを表示する • item.vars.labelには Itemインスタンスが入ってます
29.
まとめ ! • Formはモデルに依存せず柔軟にマッピングで きる • 拡張性が提供されている •
FormViewが分かれば色々できるようになる!
30.
ご清聴ありがとうございました
Download