This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Jeremy Mikola 099b9dee1f [FrameworkBundle] Integrate Configuration\Builder class for config merging and normalization
This fixes some BC problems introduced in f9138d313b. Some top-level can now be simply enabled by providing true/null in PHP/YAML. Additionally, the Configuration\Builder allows options to be unset by providing "false" (helpful for overriding activation in a previous config file). All options supporting these behaviors can be found in the Configuration.php file (look for canBeUnset() and treatNull/TrueLike()).

Major changes:

 * Removed "enabled" option for profiler config. Profiler is now enabled if its config is true, null or a map.
 * Restore original config structure for validation namespaces. In PHP/YAML, namespaces are defined under annotations as an alternative to false (disabled) and true/null (enabled). For XML, annotation remains a boolean attribute for validation and a one or more optional namespace tags may appear within <app:validation />. During config normalization, namespace tags under validation will be moved to annotations to conform to the PHP/YAML structure (this occurs transparently to the user).
 * Restore behavior for router/templating config sections being optional (as shown in changes to session/validation test fixtures). If either top-level section is unset in the configuration, neither feature will be enabled and the user will no longer receive exceptions due to missing a resource option (router) or engines (templating). Resource/engines will still be properly required if the respective feature is enabled.
 * Remove unused router type option from XML config XSD. Type is only relevant for import statements, so this option is likely useless.

Additional small changes:

 * Added isset()'s, since config options may be unset
 * Wrap registerXxxConfiguration() calls in isset() checks
 * Load translation.xml in configLoad(), since it's always required
 * Default cache_warmer value (!kernel.debug) is determined via Configuration class

Things to be fixed:

 * Configuration\Builder doesn't seem to respect isRequired() and requiresAtLeastOneElement() (or I haven't set it properly); this should replace the need for FrameworkExtension to throw exceptions for bad router/templating configs
 * The config nodes for session options don't have the "pdo." prefix, as dots are not allowed in node names. To preserve BC for now, the "pdo." prefix is still allowed (and mandated by XSD) in configuration files. In the future, we may just want to do away with the "pdo." prefix.
 * Translator has an "enabled" option. If there's no use case for setting "fallback" independently (when "enabled" is false), perhaps "enabled" should be removed entirely and translator should function like profiler currently does.
 * Profiler matcher merging might need to be adjusted so multiple configs simply overwrite matcher instead of merging its array keys.
2011-02-06 20:50:12 +01:00
src/Symfony [FrameworkBundle] Integrate Configuration\Builder class for config merging and normalization 2011-02-06 20:50:12 +01:00
tests [DependencyInjection] allow null for scalar nodes 2011-02-06 20:50:03 +01:00
.gitignore Added vendor directory to .gitignore 2010-06-24 10:44:28 +02:00
autoload.php.dist fix autoload 2011-01-27 16:49:02 +01:00
install_vendors.sh Fix DoctrineMongoDBBundle to work with recent changes to Doctrine MongoDB ODM. 2010-12-03 00:06:29 +01:00
LICENSE added some Symfony 2 components 2010-01-04 15:26:20 +01:00
phpunit.xml.dist fixed code coverage 2011-02-05 21:36:20 +01:00
README updated the README 2010-06-30 09:04:56 +02:00
update_vendors.sh Fix DoctrineMongoDBBundle to work with recent changes to Doctrine MongoDB ODM. 2010-12-03 00:06:29 +01:00

README
======

What is Symfony2?
-----------------

Symfony2 is a PHP 5.3 full-stack web framework. It is written with speed and
flexibility in mind. It allows developers to built better and easy to maintain
websites with PHP.

Symfony can be used to develop all kind of websites, from your personal blog
to high traffic ones like Dailymotion or Yahoo! Answers.

High Performance
----------------

Built with performance in mind, Symfony2 is one of the fastest PHP frameworks.
It is up to 3 times faster than symfony 1.4 or Zend Framework 1.10 and
consumes half the memory.

Requirements
------------

Symfony2 is only supported on PHP 5.3.2 and up.

Documentation
-------------

Symfony 2.0 is still in the early stages of development, but the
"[Quick Tour][1]" tutorial can get you started fast.

The "Quick Tour" tutorial barely scratches the surface of Symfony 2.0 but it
gives you a first feeling of the framework. If, like us, you think that
Symfony2 can help speed up your development and take the quality of your work
to the next level, visit the official [Symfony2 website][2] to learn more.

[1]: http://symfony-reloaded.org/learn
[2]: http://symfony-reloaded.org/