OGAWA Katsuhiro




‣ @fivestr
‣
OGAWA Katsuhiro




‣ @fivestr
‣
‣ http://crocos.co.jp/
‣ 2011 2     7
‣ Facebook



‣                    PHP   2
‣
‣ symfony 1.x
‣ Form
‣ Validator
‣ Form
‣
‣
symfony 1.x
‣ symfony 1.x



‣ Doctrine      ORM   Form

‣
Symfony2
‣ Form
‣
    ‣
‣ ORM
‣ symfony 1.x Form
     Doctrine
‣ Symfony2



 ‣
Form
Form
‣ SymfonyComponentForm
‣
          Form
Form
‣ Form              3
    ‣ FormFactory
    ‣ FormBuilder
    ‣ FormType
‣                   Form
‣
    AbstractType
‣ FormBuilder FormType
FormType
‣ FormType


‣              FormType
‣ FormTypeInterface
‣ HTML5
FormType
‣   BirthdayType     ‣   LocaleType
‣   CheckboxType     ‣   MoneyType
‣   ChoiceType       ‣   NumberType
‣   CollectionType   ‣   PasswordType
‣   CountryType      ‣   PercentType
‣   DateTimeType     ‣   RadioType
‣   DateType         ‣   RepeatedType
‣   EmailType        ‣   SearchType
‣   FieldType        ‣   TextType
‣   FileType         ‣   TextareaType
‣   FormType         ‣   TimeType
‣   HiddenType       ‣   Timezonetype
‣   IntegerType      ‣   UrlType
‣   LanguageType     ‣   EntityType
FormBuilder
‣ FormType buildForm()
    FormBuilder
  FormType
‣        1    FormBuilder
             FormType
FormType
‣ add()             2   FormType
‣ FormType
‣              DI
‣ alias FormType
FormFactory
‣ FormBuilder       Form




‣ create()            1
  FormType      2
Form
‣        1   Form

‣ Form
‣ createView()
  FormView




‣ FormView
‣ Twig


 ‣ form_widget()
 ‣ form_errors()
 ‣ form_label()
‣ bind()


‣ bindRequest()   Request



‣
‣ FormBuilder   FormType

‣ FormFactory    Form
‣ Form
‣                   createView()
                FormView
Validator
Validator
‣ SymfonyComponentValidator...
‣ Validator

‣ Form                             Form
                       Validator
ConstraintValidator
‣ Constraint
 ‣
‣ ConstraintValidator
 ‣
Constraints
‣   Blank               ‣   Locale
‣   Callback            ‣   Max
‣   Choice              ‣   MaxLength
‣   Collection          ‣   Min
‣   Country             ‣   MinLength
‣   Date                ‣   NotBlank
‣   DateTime            ‣   Null
‣   Email               ‣   NotNull
‣   False               ‣   Regex
‣   File                ‣   Time
‣   Image               ‣   True
‣   Ip                  ‣   Type
‣   Language            ‣   Url
Form Validator
‣


‣ Form       isValid()

‣                        Form
symfony 1.x
‣ symfony 1.x



‣ Symfony2
‣ 1


‣     Constraint

‣
Form
FormTypeGuesser
‣ Doctrine Validator
           FormType
‣                      Email
               EmailType
‣ FormBuilder add()            2
FormTypeGuesser
‣ data_class
      FormFactory   create()
    2
DataTransformer
‣



‣          true or false ’1’ or ‘’
      BooleanToStringTransformer
    ‣ DatetimeToString
    ‣ FileToArray
EventDispatcher
‣ symfony 1.x       Observer

‣ Form      EventDispatcher

‣
FormEvents
‣ form.pre_bind
‣ form.post_bind
‣ form.pre_set_data
‣ form.post_set_data
‣ form.bind_client_data
‣ form.bind_norm_data
‣ form.set_data
FormType
‣ FormType getParent()
            FormType

‣             AbstractType
‣ Form


    ‣ DataTransformer
FormType
‣ symfony 1.x   Form              Form

‣ symfony 1.x
                       Symfony2
        FormType
‣



‣
‣
‣



‣
Symfony2のフォームフレームワーク

Symfony2のフォームフレームワーク