Symfony2 development focused this week on the new Form/Validation components. Firstly, the 'form' branch was merged, modifying nearly 300 files and 25,000 lines of code. Afterwards, tens of changes and tweaks were committed to make the forms more extendable and easier to use. In addition, Symfony2 PR12 was released and the first beta version was announced for the next week.
Development mailing list
- [Symfony2] Security ACL: Class-scope permissions - Thoughts
- [Symfony2] SecurityLightBundle
- [Symfony2] not using the security system
- RFC: LoggerInterface adjustments
- [Sf2] Cache warmers & priorities
- [Symfony2] Plugging the common Security Component pain points
- [Symfony2] Form Framework feedback thoughts
Symfony2 development highlights
- 50011fa, 5772255: added html5 email input to the forms
- eb21dc9: [Form] removed obsolete constraints from validation.xml
- bee5d07: [Form] added a way to specify the form constraint when building the form (useful if you work with arrays instead of objects)
- 273d72e: [Form] changed separator for Twig blocks from double underscore to single underscore to match the PHP template separator
- b93f5a3: [Form] renamed ChoiceUtil to FormUtil and gave its methods more general names
- 3ca5f51: [Form] added support for groups in form validation (when using array data)
- c660fcd: [Security] fixes a critical security bug in the SwitchUserListener
- defb021: [DoctrineMongoDBBundle] set annotation constraint namespace alias to assertMongoDB
- 5a9a657: [AsseticBundle] added factory worker to fix paths when use_controller is on
- 91602df: [FrameworkBundle] made possible to interact with the Kernel/Container after a request in functional tests
- 6f16820: [FrameworkBundle] removed unnecessary and buggy functionality from ContainerDebugCommand
- 07aae98: [Routing] added support for _scheme requirement. The _scheme requirement can be used to force routes to always match one given scheme and to always be generated with the given scheme
- cdf706d: [DependencyInjection] renamed Definition::setArgument() as replaceArgument() to be more specific
- 470baaa: [DependencyInjection] renamed ContainerBuilder::remove() as removeDefinition() to be more consistent with other definition-related methods
- 117321d: replaced array for request context in Routing by a RequestContext class
- fd1636b: [Routing] added RedirectableUrlMatcher
- 1191e3a, f7b1839: [AsseticBundle] fixed the cache warmers
- 30511d2: [HttpFoundation] fixed FilesystemSessionStorage
- 4d6e239: [Security/Acl] removed Doctrine dependency from interfaces and moved them to the actual implementation
- f7d4414: [Routing] removed unused defaults variable
- c6dcf0f: [Routing] added a way to set default parameters that are applied when generating URLs
- 7266b41: [FrameworkBundle] added the current locale as the default value for _locale when generating routes
- 54b77d2: made the %count% variable automatically available when using the transchoice filter (similar to how the tag works)
- cad6643: [Bridge/Twig] simplified exceptions as Twig is now smart enough to automatically add line information
- 286c457: [Bridge/Twig] removed the possibility to pass a message to the trans tag (use the long version the tags or the filter instead)
- 8ad9309: [AsseticBundle] updated twig integration to check debug mode at runtime rather than compile time since twig cannot vary its cache by debug mode
- 6a227f8: [AsseticBundle] removed fake front controller from URL before creating route
- 57dd6ae: [AsseticBundle] fixed router and controller
- 314684d: [FrameworkBundle] made ESI URL relative as allowed by the spec (no need to generate absolute URLs)
- 4dc5b8e, d86aa74: [FrameworkBundle] removed the need to boot a Kernel in a unit test file
- e6d86eb: moved DoctrineMongoDBBundle to its own repository. It has been done as the bundle depends on Doctrine Common 2.1, but everything else in Symfony relies on Doctrine Common 2.0
- df50e2b: [Form] removed excess option in the TimezoneType
- 1856601: [Validator] modified Choice message and added a different multiple message
- 0069a70: merged branch 'form' (includes 300 commits and more than 25,000 code modifications)
- a97366f: [Form] splitted signature of FormFactory::create() into create() and createNamed()
- 0632327: removed data fixtures from core (moved to https://github.com/symfony/DoctrineFixturesBundle)
- 5c2c16f: moved DoctrineMigrationsBundle to its own repository (https://github.com/symfony/DoctrineMigrationsBundle)
-
7644e86: refactored session configuration (made the options array only for(reverted) - fd05f02: [HttpFoundation] added logic to automatically add the charset when not present in the Content-Type for relevant Content-Types
- 54e66c5: [Form] reorganized code into form extensions, which are now the only constructor argument of the FormFactory class. They replace the existing type loader classes
- 1ce2db8: [Form] added FormTypeExtensionInterface. With implementations of this interface, existing types can be amended
- 6f1bc35: [Form] refactored code from CoreExtension to new ValidatorExtension
- 2b8c7f8: [Form] added a way to register a Form extension after creation of the FormFactory
- 55e6883, b347aeb: [TwigBundle] removed obsolete code
- d9491a7: removed support for interface injection as well as all relevant tests
- 9bffd8c: [FrameworkBundle] moved some default values to the Configuration class
- 02c66e6: removed the nestingLevel configuration for file temporary storages
- 8cc5caf: changed the default directory for the upload temp dir, made the dir mandatory
- f05801c: [FrameworkBundle] removed the router.options.resource_type and routing.resource arguments
- 8b74c6e: [DomCrawler] refactored URLs management in Link and Form
- 78b2062: [Form] added an exception for an invalid widget option in DateType
- 8eb1dfc: [Translation] forced translated id to strings
- 675e5de: [Form] changed FormBuilder::build() to FormBuilder::create(). You have to pass the resulting builder to FormBuilder::add() manually now
- 4ed8d4f: [Routing] fixed URL generation when a non-optional variable is empty
- e790587: [Form] automatically setting data_class option if objects are passed at the creation of a form
- dbb5ca4, 29802fa: [Classloader] fixed APC class loader + added unit tests
- e8bb64c: [Classloader] added phpdoc with example usage + refactored unit tests fixtures
New plugins
- esWidgetFormPassword: The widget displays a password and password confirmation fields with an optional bit of javascript to replace the confirmation field by a reveal password toggle. The validator allows to generate a random password..
- tmcAdministration: A new theme for the administration backend. Customization of the sfDoctrineGuardPlugin modules are included and a dashboard based on the sfAdminDashPlugin.
Updated plugins
-
sfPHPUnit2:
- fixed lime interface for own tester
- refactored getter for a sfApplicationConfiguration instance
- refactored switching the context in functional tests
- added possibility to define custom tester classes in functional tests
-
sw2DecorationToolkit:
- they stylesheet for this should be included in the first group of stylesheets
-
sfDoctrineActAsTaggable:
- tabbleComplete module's actions class can now be overridden without duplicating everything, allows graceful modification of the tag query
-
sfDependentSelect:
- improved English documentation
- JavaScript code translated to English
-
xtDojo:
- first step towards 2.0 version
-
apostrophe:
- added an additional if has slot include slot in the body tag for 'a-body-class'
- Singleton Slots now look for a 'delete' option. If it is set to true, the trash can becomes available for "unsetting" the slots contents
- new app_a_global_button_labels option provides an easy-peasy way to relabel some or all of the admin bar buttons
-
apostrophePeople:
- onDelete: SET NULL for the headshot relation to be able to delete the headshot while the person is still associated with it
New symfony powered websites
- CPDcast: (English) an online CPD platform, providing distance learning to a range of professions
New symfony bloggers
- Jakub Zalas (English) (feed) (English)
- Jakub Zalas (Polish) (feed) (Polish)
They talked about us
- Me and Symfony2 learning about REST
- faster queries: indexing tables
- Un post validator pour gérer les dépendances entre les champs
- A post validator to define dependencies between fields
- Cómo aprender Symfony2
- Symfony2, what I think is still left to do
- Dynamic image processing with symfony and sfImageTransformExtraPlugin
- Symfony2框架中的常用术语
- Silex — микрофреймворк от создателей Symfony2
- [php][Symfony2][symfony]Symfony しゃべりば(仮) #1 は 4/27(水) 22:00
- Integração dos erros com o netbeans
- 4/27 22時〜 Symfonyしゃべりば Ustreamでしゃべります!
- Symfony2: Admin Generátor helyett AdminBundle beta, teszt
- អ្វីជា M-V-C ? What is MVC ? Ce qui est MVC?
- symfony の fetch()つかってたらエラー。fetchAllってなんぞ?
- symfony をやってみよう その7 「12日目: アドミンジェネレータ」
- Getting Symfony 2 into the Cloud
- Фреймворки PHP
- 簡単な求人プロジェクト用のデータベースをsymfonyに設定
- Symfony 2 Form
- Symfony 2 desde cero
- How to generate symfony 2 documentation
- Symfony2: аналог preExecute() для контроллера
- symfony: klasa sfWidgetFormI18nDate i problem z podawaniem zakresu lat
- sfYaml is a great PHP yaml library
- Dependency injection container refactorings, part one
- PHP CodeIgniter + Twig + PDO
- Using Assetic in Symfony2 for CSS compression
- unitテストがloggerでこける
- Proyecto Symfony (Parte I, requisitos previos)
- Symfony : Unknown method SfGuardUserTable::retrieveByUsername
- SymfonyやNetBeans IDEに興味
- Symfony2: Dependency Injection Types
- slyBlog – Tutoriel Vidéo Symfony 1.4 – Partie 8
- Symfony: El enrutamiento (I)
- Formulaires et validateurs dans un projet Symfony