Enviar búsqueda
Cargar
20120507 zendform
•
3 recomendaciones
•
1,731 vistas
Yusuke Ando
Seguir
Zend_Formの使い方
Leer menos
Leer más
Denunciar
Compartir
Denunciar
Compartir
1 de 32
Descargar ahora
Descargar para leer sin conexión
Recomendados
Objective-Cで学ぶ英文法 (2)
Objective-Cで学ぶ英文法 (2)
Shingo Sato
20121225 php
20121225 php
Yusuke Ando
Engine Yard Cloud
Engine Yard Cloud
Yusuke Ando
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方
柴田 篤志
20090905 Cake Php
20090905 Cake Php
Yusuke Ando
20091030cakephphandson 02
20091030cakephphandson 02
Yusuke Ando
20091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
【公式資料】第2回クラウド・マーケティング研究会オープニングセッション
【公式資料】第2回クラウド・マーケティング研究会オープニングセッション
Shu Takeda
Recomendados
Objective-Cで学ぶ英文法 (2)
Objective-Cで学ぶ英文法 (2)
Shingo Sato
20121225 php
20121225 php
Yusuke Ando
Engine Yard Cloud
Engine Yard Cloud
Yusuke Ando
Cake Php キャッシュのやり方
Cake Php キャッシュのやり方
柴田 篤志
20090905 Cake Php
20090905 Cake Php
Yusuke Ando
20091030cakephphandson 02
20091030cakephphandson 02
Yusuke Ando
20091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
【公式資料】第2回クラウド・マーケティング研究会オープニングセッション
【公式資料】第2回クラウド・マーケティング研究会オープニングセッション
Shu Takeda
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
Jun-ichi Sakamoto
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
Kazuki Nakajima
Tech talk salesforce mobile sdk
Tech talk salesforce mobile sdk
Kazuki Nakajima
BoF-09 Silverlight and WIF /TechEd Japan 2010
BoF-09 Silverlight and WIF /TechEd Japan 2010
Naohiro Fujie
111008 silverlight square_datavalidation
111008 silverlight square_datavalidation
Takayoshi Tanaka
はじめてのCodeIgniter
はじめてのCodeIgniter
Yuya Matsushima
WordPress widget api
WordPress widget api
Takami Kazuya
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010
stomita
60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック
Yuya Yamaki
PHP Conference Japan 2010 : Zend Framewrok
PHP Conference Japan 2010 : Zend Framewrok
sasezaki
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
インフラジスティックス・ジャパン株式会社
CodeIgniter東京勉強会 2011.05.14
CodeIgniter東京勉強会 2011.05.14
Takako Miyagawa
やってみよう!ASP.NET MVC #2
やってみよう!ASP.NET MVC #2
Tadahiro Higuchi
Mvc conf session_4_ono
Mvc conf session_4_ono
Hiroshi Okunushi
20110607
20110607
小野 修司
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
なべ
20050903
20050903
小野 修司
20080524
20080524
小野 修司
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
Yoshitaka Seo
ADRという考えを取り入れてみて
ADRという考えを取り入れてみて
infinite_loop
ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大
Yusuke Ando
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
Yusuke Ando
Más contenido relacionado
Similar a 20120507 zendform
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
Jun-ichi Sakamoto
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
Kazuki Nakajima
Tech talk salesforce mobile sdk
Tech talk salesforce mobile sdk
Kazuki Nakajima
BoF-09 Silverlight and WIF /TechEd Japan 2010
BoF-09 Silverlight and WIF /TechEd Japan 2010
Naohiro Fujie
111008 silverlight square_datavalidation
111008 silverlight square_datavalidation
Takayoshi Tanaka
はじめてのCodeIgniter
はじめてのCodeIgniter
Yuya Matsushima
WordPress widget api
WordPress widget api
Takami Kazuya
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010
stomita
60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック
Yuya Yamaki
PHP Conference Japan 2010 : Zend Framewrok
PHP Conference Japan 2010 : Zend Framewrok
sasezaki
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
インフラジスティックス・ジャパン株式会社
CodeIgniter東京勉強会 2011.05.14
CodeIgniter東京勉強会 2011.05.14
Takako Miyagawa
やってみよう!ASP.NET MVC #2
やってみよう!ASP.NET MVC #2
Tadahiro Higuchi
Mvc conf session_4_ono
Mvc conf session_4_ono
Hiroshi Okunushi
20110607
20110607
小野 修司
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
なべ
20050903
20050903
小野 修司
20080524
20080524
小野 修司
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
Yoshitaka Seo
ADRという考えを取り入れてみて
ADRという考えを取り入れてみて
infinite_loop
Similar a 20120507 zendform
(20)
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
Tech talk salesforce mobile sdk
Tech talk salesforce mobile sdk
BoF-09 Silverlight and WIF /TechEd Japan 2010
BoF-09 Silverlight and WIF /TechEd Japan 2010
111008 silverlight square_datavalidation
111008 silverlight square_datavalidation
はじめてのCodeIgniter
はじめてのCodeIgniter
WordPress widget api
WordPress widget api
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010
60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック
PHP Conference Japan 2010 : Zend Framewrok
PHP Conference Japan 2010 : Zend Framewrok
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
CodeIgniter東京勉強会 2011.05.14
CodeIgniter東京勉強会 2011.05.14
やってみよう!ASP.NET MVC #2
やってみよう!ASP.NET MVC #2
Mvc conf session_4_ono
Mvc conf session_4_ono
20110607
20110607
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
20050903
20050903
20080524
20080524
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
ADRという考えを取り入れてみて
ADRという考えを取り入れてみて
Más de Yusuke Ando
ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大
Yusuke Ando
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
Yusuke Ando
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
Yusuke Ando
Testing your app with Selenium on Travis CI
Testing your app with Selenium on Travis CI
Yusuke Ando
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テスト
Yusuke Ando
Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発
Yusuke Ando
Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突
Yusuke Ando
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
Yusuke Ando
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツ
Yusuke Ando
Travis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーション
Yusuke Ando
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行
Yusuke Ando
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
Yusuke Ando
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆ける
Yusuke Ando
Dev opschef
Dev opschef
Yusuke Ando
Paa s and oss
Paa s and oss
Yusuke Ando
New relic
New relic
Yusuke Ando
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境
Yusuke Ando
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
Yusuke Ando
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」
Yusuke Ando
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
Yusuke Ando
Más de Yusuke Ando
(20)
ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
Testing your app with Selenium on Travis CI
Testing your app with Selenium on Travis CI
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テスト
Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発
Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツ
Travis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーション
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆ける
Dev opschef
Dev opschef
Paa s and oss
Paa s and oss
New relic
New relic
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
20120507 zendform
1.
Zend_Form Z F で
モ ダ ン な フ ォ ーム 処 理 2 0 1 2 / 5 / 7
2.
PHPカンファレンス北海道2012 / Yusuke
Ando (@yando)
3.
agenda Form Basics Form Element Validate
4.
Formの処理 Webアプリに頻出する 扱う必要があるタグの種類が豊富 様々なバリデーションも要求される JavaScriptとの連携も求められる
5.
独自実装は危険 ビューが大量のifやforeachであふれる 基本的な書式チェックでのバグリスク フォームの仕様は膨らみやすい ex)
複数選択ドロップダウン 初期値のフィルイン 「ここから選択してください」
6.
ライブラリに任せる
PEAR HTML_QuickForm2 ZendFramework Zend_Form ZendFramework2 ZendFormForm symfony 1 sfForm Symfony2 SymfonyComponentForm FuelPHP FuelCoreForm CakePHP FormHelper ライブラリによってバリデーションなどに違い
7.
Zend_Form
8.
Zend_Form フォーム全体を担当するZend_Form 各要素はZend_Form_Element 検証はZend_Validate 整形などはZend_Form_Decorator
9.
基本的な流れ Zend_Formのオブジェクトを作成 必要な入力要素のElementをセット ElementにValidateをセット ビューではFormのオブジェクトをecho コントローラーではFormのisValidで検査
10.
とりあえずの例
11.
実行結果 HTMLタグがオブジェクトから自動生成される (エラーメッセージや、タグのカスタマイズも可能)
12.
Element超豊富
Button Multiselect Captcha Password Checkbox Radio File Reset Hidden Select Hash Submit Image Text MultiCheckbox Textarea
13.
この書き方はマズイ
14.
サブクラス作成 Zend_Formのサブクラスを作成 オプション設定やElementの生成はinit 再利用性アップ ユニットテストできるようになる!
15.
サブクラス化
16.
by splorp Validate
17.
バリデーション Zend_Validateのオブジェクトを生成 各ElementにaddValidator()する isValid()にデータを渡して検証 検証済のデータはgetValues()で取得
18.
フォームへの設定
19.
検証の実行
20.
実行結果
21.
Validatorバリ豊富
Alnum GreaterThan Alpha Hex Barcode Hostname Between Iban Callback Identical Cc InArray CreditCard Int Date Ip DB_NoRecordExist Isbn DB_RecordExist LessThan Digits NotEmpty EmailAddress PostCode File Regex Float StringLength
22.
Validateの自作 Zend_Validate_Interfaceをimplements したクラスを作成 isValidとgetMessagesを定義 isValid内で任意のロジックで判定 通常と同じくElementへaddValidator
23.
Validatorを自作
24.
Validatorを設定
25.
実行結果
26.
twokingsconfections Decorator
27.
フォームの整形 フォーム全体をrenderした時 要素をrenderした時 自動で様々なタグ付けを行なっている 拡張したり差し替えも可能
28.
要素を直接表示 フォームオブジェクト->要素名を参照 標準では HtmlTag Label
Errorsなどが設 定済み 拡張したり差し替えも可能 エラーはgetErrorsで取得する
29.
Decoratorを解除
30.
実行結果 後は自由にマークアップを記述すれば良い
31.
まとめ フォームにはZend_Formを使おう Zend_Formのサブクラスを作る Zend_Form_Elementで要素を設定 検証はZend_Validate ビューでは状況に応じて表示
32.
サンプル? https://github.com/yandod/php-form-sample
Descargar ahora