With implementations of this interface, existing types can be amended.
The Csrf extension, for example, now contains a class FormTypeCsrfExtension
that adds CSRF capabilities to the "form" type.
To register new type extensions in the DIC, tag them with "form.type_extension"
and the name of the extended type as alias.
The extension classes are now the only constructor argument of the FormFactory class. They replace the existing "type loader" classes.
new FormFactory(array(
new CoreExtension($validator, $storage),
new CsrfExtension($csrfProvider),
new DoctrineOrmExtension($em),
));
Together with a few upcoming commits this mechanism will make
* extension of the form framework in bundles and
* usage of the forms outside of Symfony2
much easier.
* form: (291 commits)
[FrameworkBundle] updated method call
[Form] Removing excess option in the TimezoneType
[FrameworkBundle] Adding check for invalid form type for better exception message
[TwigBundle] Removing dbug text in form template
[Form] Removed obsolete code in TextType
[Form] fixed translations escaping
[Form] Adding a check that the choice_list option on the ChoiceType implements the ChoiceListInterface.
[Form] added support for groups in form validation (when using array data)
[Form] fixed error bubbling for choices when expanded is true
[Form] added a unit test
[Form] Removed obsolete view variables
[Form] Renamed ChoiceUtil to FormUtil and gave its methods more general names
[Form] Changed separator for Twig blocks from double underscore to single underscore to match the PHP template separator
[Form] Removed StripTagsListenerTest
[Form] Removed StripTagsListener. Its implementation is insufficient and needs to be replaced by a better one.
[Form] added a way to specify the form constraint when building the form (useful if you work with arrays instead of objects)
[Form] Added test for 'email' type and fixed a few bugs
[Form] Removed obsolete constraints from validation.xml
Revert "[Form] removed validation.xml file (not used anymore)"
Added html5 email input to the forms
...
* Infranology/framework-bundle-updated-method-call: (91 commits)
[FrameworkBundle] updated method call
moved DoctrineMongoDBBundle to its own repository
[AsseticBundle] fixed unit tests
[FrameworkBundle] removed unneeded files in tests
updated vendors
[FrameworkBundle] removed the need to boot a Kernel in a unit test file
[FrameworkBundle] removed the need to boot a Kernel in a unit test file
[Routing] added getContext() accessor
[HttpFoundation] fixed a potential security problem in Request
updated vendors
Added 201 to the possible status codes that indicate a response is a redirect.
[FrameworkBundle] made ESI URL relative as allowed by the spec (no need to generate absolute URLs)
[AsseticBundle] fixed router and controller
[AsseticBundle] removed fake front controller from URL before creating route
[AsseticBundle] updated twig integration to check debug mode at runtime rather than compile time since twig cannot vary its cache by debug mode
[Routing] the global parameters must not be added in the QS when generating URLs
removed the possibility to pass a message to the trans tag
simplified exceptions as Twig is now smart enough to automatically add line information
made the %count% variable automatically available when using the transchoice filter (similar to how the tag works)
[Container] Added function array_unique on getServiceIds to return only one service name
...
The repo is now here: https://github.com/symfony/DoctrineMongoDBBundle
It has been done as the bundle depends on Doctrine Common 2.1, but everything
else in Symfony relies on Doctrine Common 2.0.
* schmittjoh/security:
[Security/Core] force implementations to accept null values
[Security/Acl] some misc fixes
[Security/Acl] removed Doctrine dependency from interfaces and moved them to the actual implementation
[SecurityBundle] changed expected value for token_provider key in the rememberme section
* kriswallsmith/dic/method-renames:
added method renames to UPDATE
[DependencyInjection] renamed ContainerBuilder::remove() as removeDefinition() to be more consistent with other definition-related methods
[DependencyInjection] renamed Definition::setArgument() as replaceArgument() to be more specific
* vicb/service-event-tests:
[FrameworkBundle] Added a test for listener services not available in the current scope
[FrameworkBundle] Add unit tests for ContainerAwareEventDispatcher
[FrameworkBundle] Initialize the listenerId property in the ContainerAwareEventDispatcher class
The _scheme requirement can be used to force routes to always match one given scheme
and to always be generated with the given scheme.
So, if _scheme is set to https, URL generation will force an absolute URL if the
current scheme is http. And if you request the URL with http, you will be redirected
to the https URL.