Commit Graph

118 Commits

Author SHA1 Message Date
Fabien Potencier
1df8b2ee37 [FrameworkBundle] fixed methods that have been renamed in the previous commit 2011-04-20 14:31:42 +02:00
Fabien Potencier
9d2ea4ec31 Merge remote branch 'kriswallsmith/dic/method-renames'
* 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
2011-04-20 14:28:09 +02:00
Kris Wallsmith
cdf706d357 [DependencyInjection] renamed Definition::setArgument() as replaceArgument() to be more specific 2011-04-20 04:47:44 -07:00
Fabien Potencier
07aae98495 [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.

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.
2011-04-20 10:49:32 +02:00
Fabien Potencier
ea84bb025b fixed session management in functional tests 2011-04-13 23:11:25 +02:00
Fabien Potencier
0c93b6bbe4 Merge remote branch 'vicb/locate_template2'
* vicb/locate_template2:
  [FrameworkBundle] Enforce templates instances of TemplateReferenceInterface
  [FrameworkBundle] Add unit tests for the CacheTemplateLocator class
  [FrameworkBundle] Add unit tests for the TemplateLocator class
  [TwigBundle] Fix the cache warmer
  [TwigBundle] Tweak cache warmer configuration
  [FrameworkBundle] Fix resource inheritance in the template cache warmer
2011-04-13 13:38:11 +02:00
Benjamin Eberlei
d27dc86c25 [FrameworkBundle][Validation] Fix bug where YAML Validation files are not detected. 2011-04-11 23:26:11 +02:00
Victor Berchet
7cc51d8596 [FrameworkBundle] Fix resource inheritance in the template cache warmer 2011-04-08 18:54:19 +02:00
Kris Wallsmith
d0f45fd3b6 [FrameworkBundle] added configuration for caching validator metadata 2011-04-06 04:07:38 -07:00
Kris Wallsmith
eca0243d3e [FrameworkBundle] added condition so invalid session config isn't created 2011-04-05 15:42:43 -07:00
Victor Berchet
b640fcb0f0 [Config] Introduction of an ConfigurationInterface 2011-04-05 11:26:28 +02:00
Fabien Potencier
6daf09a61d Merge remote branch 'subsven/master'
* subsven/master:
  Add (Boolean) cast to constructor arguments
  Add a configuration option to restrict profiler storage to the master request
2011-04-05 10:03:58 +02:00
Fabien Potencier
747c98f178 [FrameworkBundle] removed the debug.file_link_format parameter 2011-04-05 08:03:29 +02:00
Victor Berchet
5a1d5e5082 [FrameworkBundle] Make specifying a custom file_link_format easier 2011-04-05 01:15:21 +02:00
Victor Berchet
9998ab18e9 [FrameworkBundle] Fix for getting the file link format fallback to XDebug configuration 2011-04-04 23:39:37 +02:00
Fabien Potencier
1cb03b1448 [FrameworkBundle] removed templating.loader.cache.path parameter 2011-04-04 11:56:41 +02:00
Martin Hason
57b1b4992b [FrameworkBundle] fixed bugs
- not existing service in DI container
- called invalid method
2011-04-01 10:34:13 +02:00
Fabien Potencier
eb21f5b76e [FrameworkBundle] moved some validation related services to the XML services file 2011-04-01 08:26:19 +02:00
Fabien Potencier
33add37f7c [FrameworkBundle] removed the validator.annotations.namespaces parameter
The parameter has been removed and the service moved to the XML file (for consistency).
The behavior is still the same as before as any non-public service
which is not referenced anywhere will be automatically removed by a
compiler pass.
2011-04-01 08:15:38 +02:00
Fabien Potencier
c8fe15bfcf [FrameworkBundle] removed exception_listener.controller parameter 2011-03-30 19:21:04 +02:00
Fabien Potencier
68d340b845 [FrameworkBundle] removed translator.fallback_locale parameter 2011-03-30 19:16:13 +02:00
Fabien Potencier
40606edd1c [FrameworkBundle] removed templating.assets.version and templating.assets.base_urls parameters 2011-03-30 19:05:22 +02:00
Fabien Potencier
ce4a8de789 [FrameworkBundle] removed the session.default_locale parameter 2011-03-30 17:34:23 +02:00
Fabien Potencier
5e0c046abd [FrameworkBundle] removed %error_handle.level% parameter 2011-03-30 17:02:38 +02:00
Sven Paulus
601d3f5d95 Add a configuration option to restrict profiler storage to the master request
We a currently working on a project were a single requested URL typically
leads to some hundred controller calls. Using the dev controller got
incredibly slow since recent Symfony2 changes because for each controller
invocation a new entry gets added to the profiler storage (totalling over
100mb of data on each request in our case).

With the new configuration attribute "only-master-requests" it is possible
to limit the profiler storage to the master requests, keeping the profiler
usable for us.
2011-03-29 16:58:34 +02:00
Kris Wallsmith
2f8d5cd1c0 [FrameworkBundle] fixed build of config for asset packages 2011-03-24 15:18:50 -07:00
Fabien Potencier
20245da86d [FrameworkBundle] fixed cache_warmer configuration 2011-03-22 22:56:46 +01:00
Fabien Potencier
f97006f738 [FrameworkBundle] fixed IDE setting for exceptions 2011-03-18 15:47:44 +01:00
Fabien Potencier
0d052201fe [FrameworkBundle] fixed class load order 2011-03-18 12:07:42 +01:00
Fabien Potencier
060f34fca9 [FrameworkBundle] fixed class loading order 2011-03-18 09:24:07 +01:00
Fabien Potencier
a71f63e61d [FrameworkBundle] fixed class loading order 2011-03-18 07:36:02 +01:00
Bernhard Schussek
5f14d8d6aa Merge remote branch 'symfony/master' into event-manager
Conflicts:
	src/Symfony/Bundle/AsseticBundle/CacheWarmer/AssetWriterCacheWarmer.php
	src/Symfony/Bundle/AsseticBundle/Tests/CacheWarmer/AssetWriterCacheWarmerTest.php
	src/Symfony/Bundle/FrameworkBundle/Profiler/ProfilerListener.php
	src/Symfony/Bundle/FrameworkBundle/Resources/config/profiling.xml
	src/Symfony/Component/HttpKernel/HttpKernel.php
	src/Symfony/Component/Security/Http/Firewall/AbstractAuthenticationListener.php
	src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php
2011-03-17 12:34:12 +01:00
Fabien Potencier
005287ac88 Merge remote branch 'kriswallsmith/templating/asset-packages' 2011-03-16 16:18:45 +01:00
Fabien Potencier
28d9b331bd [FrameworkBundle] made the profiler easily configurable 2011-03-16 15:58:56 +01:00
Bernhard Schussek
06c682b4fb Switched from Doctrine's EventManager implementation to the EventManager clone in Symfony2 (now called EventDispatcher again) 2011-03-13 19:49:10 +01:00
Kris Wallsmith
6904e0e1e2 [FrameworkBundle] implemented asset packages 2011-03-08 09:22:25 -08:00
Bernhard Schussek
2cf3779a2c Renamed EventArgs classes and adapted remaining code to EventManager
The only missing part is ContainerAwareEventManager::addEventSubscriberService(),
because I'm not sure how to find out the class name of a service in the DIC.

Also, inline documentation of this code needs to be finished once it is accepted.
2011-03-07 19:16:05 +01:00
Bernhard Schussek
a54d3e6fb0 Merge remote branch 'symfony/master' into event-manager 2011-03-07 19:15:57 +01:00
Fabien Potencier
8c423edfef replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
Bernhard Schussek
f1393d7b1f Replaced EventDispatcher by Doctrine's EventManager implementation
Doctrine's EventManager implementation has several advantages over the
EventDispatcher implementation of Symfony2. Therefore I suggest that we
use their implementation.

Advantages:

 * Event Listeners are objects, not callbacks. These objects have handler
   methods that have the same name as the event. This helps a lot when
   reading the code and makes the code for adding an event listener shorter.
 * You can create Event Subscribers, which are event listeners with an
   additional getSubscribedEvents() method. The benefit here is that the
   code that registers the subscriber doesn't need to know about its
   implementation.
 * All events are defined in static Events classes, so users of IDEs benefit
   of code completion
 * The communication between the dispatching class of an event and all
   listeners is done through a subclass of EventArgs. This subclass can be
   tailored to the type of event. A constructor, setters and getters can be
   implemented that verify the validity of the data set into the object.
   See examples below.
 * Because each event type corresponds to an EventArgs implementation,
   developers of event listeners can look up the available EventArgs methods
   and benefit of code completion.
 * EventArgs::stopPropagation() is more flexible and (IMO) clearer to use
   than notifyUntil(). Also, it is a concept that is also used in other
   event implementations

Before:

    class EventListener
    {
        public function handle(EventInterface $event, $data) { ... }
    }

    $dispatcher->connect('core.request', array($listener, 'handle'));
    $dispatcher->notify('core.request', new Event(...));

After (with listeners):

    final class Events
    {
        const onCoreRequest = 'onCoreRequest';
    }

    class EventListener
    {
        public function onCoreRequest(RequestEventArgs $eventArgs) { ... }
    }

    $evm->addEventListener(Events::onCoreRequest, $listener);
    $evm->dispatchEvent(Events::onCoreRequest, new RequestEventArgs(...));

After (with subscribers):

    class EventSubscriber
    {
        public function onCoreRequest(RequestEventArgs $eventArgs) { ... }

        public function getSubscribedEvents()
        {
            return Events::onCoreRequest;
        }
    }

    $evm->addEventSubscriber($subscriber);
    $evm->dispatchEvent(Events::onCoreRequest, new RequestEventArgs(...));
2011-03-05 15:30:34 +01:00
Pascal Borreli
1dca1ea002 [FrameworkBundle] Fixed typo 2011-02-26 20:02:05 +01:00
Fabien Potencier
23e9386a0e changed all extensions to use the default Extension::getAlias() impl 2011-02-20 08:58:37 +01:00
Fabien Potencier
6b12c21261 moved DependencyInjection\Configuration to Config\Definition 2011-02-17 16:03:48 +01:00
Fabien Potencier
62e3053769 refactored previous commit, fixed tests
How to upgrade?

For XML configuration files:

 * All extensions should now use the config tag (this is just a convention as
   the YAML configurations files do not use it anymore):

 * The previous change means that the doctrine and security bundles now are
   wrapped under a main "config" tag:

        <doctrine:config>
            <doctrine:orm />
            <doctrine:dbal />
        </doctrine:config>

        <security:config>
            <security:acl />
            ...
        </security:config>

For YAML configuration files:

 * The main keys have been renamed as follows:

        * assetic:config -> assetic
        * app:config -> framework
        * webprofiler:config -> web_profiler
        * doctrine_odm.mongodb -> doctrine_mongo_db
        * doctrine:orm -> doctrine: { orm: ... }
        * doctrine:dbal -> doctrine: { dbal: ... }
        * security:config -> security
        * security:acl -> security: { acl: ... }
        * twig.config -> twig
        * zend.config -> zend
2011-02-15 22:22:28 +01:00
Lukas Kahwe Smith
7f182bd877 implicitly load all registered bundles, all loading is now handled by load(), disable loading of an extension explcitly via setting the extension config to false (for now only Yaml is implemented) 2011-02-15 22:11:08 +01:00
Fabien Potencier
14aa95ba21 added the concept of a main DIC extension for bundles
This allows for better conventions and better error messages if you
use the wrong configuration alias in a config file.

This is also the first step for a bigger refactoring of how the configuration
works (see next commits).

 * Bundle::registerExtensions() method has been renamed to Bundle::build()

 * The "main" DIC extension must be renamed to the new convention to be
   automatically registered:

      SensioBlogBundle -> DependencyInjection\SensioBlogExtension

 * The main DIC extension alias must follow the convention:

      sensio_blog for SensioBlogBundle

 * If you have more than one extension for a bundle (which should really
   never be the case), they must be registered manually by overriding the
   build() method

 * If you use YAML or PHP for your configuration, renamed the following
   configuration entry points in your configs:

      app -> framework
      webprofiler -> web_profiler
      doctrine_odm -> doctrine_mongo_db
2011-02-15 22:11:07 +01:00
Victor Berchet
af81bcabf0 [Templating] Refactor the component 2011-02-14 21:11:44 +01:00
Fabien Potencier
5c905beb13 moved common configuration classes to a new Config component 2011-02-13 22:31:50 +01:00
Kris Wallsmith
1292925702 [AsseticBundle] initial entry of assetic integration 2011-02-13 22:21:30 +01:00
Jeremy Mikola
fc3f56d17c [FrameworkBundle] Small fixes to FrameworkExtension and its configuration
* Remove redundant null/true equivalent array() values for array nodes
 * Profiler matcher should not be deep merged; subsequent configs can simply overwrite its array
 * Per lsmith's suggestion, change "isset(x) && x" to "!empty(x)"
 * Templating engines node should be required, which is necessary to ensure requiresAtLeastOneElement() applies to its prototype children
2011-02-12 21:59:25 +01:00