When running Symfony2 unit tests with DoctrineBundle and DoctrineMongoDBBundle
enabled, tests failed with class redeclaration errors for YamlBundle,
XmlBundle, and AnnotationBundle. Fixed these test bundles to use fully
qualified namespaces.
Fixed a bug that caused DoctrineMongoDBBundle to load default settings for
every parsed config file rather than just the first. This caused
imported files to be override by default values.
Fixed a bug that caused DoctrineBundle to load default settings for
every parsed config file rather than just the first. This caused
imported files to be override by default values.
Fixed a bug that caused a "Cannot redeclare class Symfony\Components\Routing\RouterInterface"
fatal error when booting the Symfony kernel with a populated class cache.
* refactored the import mechanism for better flexibility
* added two methods to LoaderInterface: supports() and setResolver()
* added a LoaderResolver interface
* added a Loader base class
* added new loaders: DelegatingLoader, PhpFileLoader, and ClosureLoader
* removed the Kernel::registerRoutes() method
* added a router entry in <web:config> (replaces the registerRoutes() method)
<web:config>
<web:router resource="%kernel.root_dir%/config/routing.xml" />
</web:config>
* refactored routing configuration in its own routing.xml file (leverages the new routing component API),
which is loaded only if <web:router> is defined in the configuration
* refactored the import mechanism for better flexibility
* added two methods to LoaderInterface: supports() and setResolver()
* added a LoaderResolver interface
* added a Loader base class
* added new loaders: DelegatingLoader, ClosureLoader, and PhpFileLoader
* changed the Router constructor signature (now takes a Loader)
Fixed a bug (possibly introduced by e63ff6e04b) that prevented
multiple DBAL connections from being configured via an XML configuration file.
When multiple DBAL connections are specified via XML similar to:
<doctrine:dbal>
<doctrine:connections>
<doctrine:connection
id="conn1"
..
/>
<doctrine:connection
id="conn2"
..
/>
</doctrine:connections>
</doctrine:dbal>
XMLFileLoader produces a configuration similar to:
array('connections' => array(
'connection' => array(
0 => array(
'id' => 'conn1',
),
1 => array(
'id' => 'conn2',
)
)
)
whereas when one connection is specified via XML similar to:
<doctrine:dbal>
<doctrine:connections>
<doctrine:connection
id="conn1"
..
/>
</doctrine:connections>
</doctrine:dbal>
XMLFileLoader produces a configuration similar to:
array('connections' => array(
'connection' => array(
'id' => 'conn1',
)
)
This commit fixes DoctrineExtension to properly handle both cases, while still
supporting YAML configuration files.
For existing Symfony2 applications, references to Symfony\Framework are found
in the main Kernel class (registerBundles() and registerBundleDirs()), and in
all Controller classes. You also need to change the console script.
The HttpFoundation component holds classes that wrap PHP native global arrays.
The following classes has been moved:
* Symfony\Components\HttpKernel\Response -> Symfony\Components\HttpFoundation\Response
* Symfony\Components\HttpKernel\Request -> Symfony\Components\HttpFoundation\Request
* Symfony\Framework\FoundationBundle\User -> Symfony\Components\HttpFoundation\Session
* Symfony\Framework\FoundationBundle\Session\* -> Symfony\Components\HttpFoundation\SessionStorage\*Storage
The web:user DI configuration has been moved to kernel:session.
The user helper has been renamed to session.
PHPUnit has built in support for testing if PHP errors are thrown by
looking for special exception classes:
PHPUnit_Framework_Error
PHPUnit_Framework_Warning
PHPUnit_Framework_Notice
This support is only enabled if no other error handlers are registered.
The Symfony kernel registers an error handler by default, thus disabling
PHPUnit's special PHP error exceptions if the kernel has been booted.
This commit adds support for a new configuration parameter,
error_handler.enable, which can prevent the Symfony error handler from
registering if set to false.
After this commit, by default the error handler will be disabled in the
test environment. To enable it, add the following to your
config_test.yml:
parameters:
error_handler.enable: true