Commit Graph

36 Commits

Author SHA1 Message Date
Nicolas Grekas
79d2e8e95f Merge branch '2.8'
* 2.8:
  [HttpKernel] Fix RequestStack argument position and deprecated behavior

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php
2015-09-10 19:25:44 +02:00
Nicolas Grekas
51b6d74557 [HttpKernel] Fix RequestStack argument position and deprecated behavior 2015-09-10 12:52:08 +02:00
Fabien Potencier
8835d1af45 removed all *.class parameters 2015-03-26 16:34:43 +01:00
Fabien Potencier
9c4bc9a0ed [HttpKernel] decoupled TraceableEventDispatcher and Profiler 2013-09-30 10:52:26 +02:00
Fabien Potencier
beda03ba96 updated all HttpKernel event listeners to implement EventSubscriberInterface 2011-10-10 14:54:49 +02:00
Jordi Boggiano
7350109f6e Renamed core.* events to kernel.* and CoreEvents to KernelEvents 2011-06-21 16:35:14 +02:00
Jordi Boggiano
edbdf7b154 Rename kernel.listener to kernel.event_listener
Better consistency with doctrine.event_listener
2011-06-21 16:35:12 +02:00
Fabien Potencier
839c332438 moved all listener classes under a common EventListener sub-namespace 2011-05-31 10:43:20 +02:00
Fabien Potencier
02605f3481 merged origin/master 2011-05-31 08:34:05 +02:00
Fabien Potencier
988355993a refactored Profiler class 2011-05-30 22:25:25 +02:00
Jordi Boggiano
af0bd8a136 Update Core and Security events to latest model
The main benefit is that in XML/YML files we have common syntax (i.e. core.controller, form.pre_bind) that properly namespaces event names (before: onCoreController was ok, preBind was not).
On the other hand in PHP land we also have namespaced events, CoreEvents::controller, FormEvents::preBind, before it was Events::onCoreController, Events::onPreBind, we now have more context.
2011-05-26 11:55:07 +02:00
Fabien Potencier
f7aea2a830 [FrameworkBundle] re-introduced parameters in the DIC for better overridability 2011-05-13 14:34:17 +02:00
Christophe Coevoet
87391119be [FrameworkBundle] Changed the priority of the ProfilerListener
Running it before other onCoreResponse listeners avoids seeing them
as called listeners in the event panel. The priority is set to -100
because it has to be called before the WebProfilerListener (-128) so
that the token is set.
2011-05-07 20:40:30 +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
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
Jordi Boggiano
8fabca609f Added monolog tags to create all core channels 2011-03-18 12:29:20 +01:00
Fabien Potencier
6c8e71c8e7 renamed filterCore* to onCore*
The onCore* events are fired at some pre-defined points during the
handling of a request. At this is more important than the fact
that you can change things from the event.
2011-03-17 17:01:59 +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
ad3b7e912d merged noelg/profiler 2011-03-16 16:44:44 +01:00
Fabien Potencier
28d9b331bd [FrameworkBundle] made the profiler easily configurable 2011-03-16 15:58:56 +01:00
Jan Schumann
d1ebc8da9f - Added abstract PDO profiler storage, updated sqlite storage and added a mysql storage.
- Updated profiler config in framework bundle
2011-03-15 14:08:43 +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
noel guilbert
a8eff2b154 Improved profiler to store and retrieve sub requests data 2011-02-26 17:24:02 +01:00
Fabien Potencier
dff3585162 fixed profiler when using ESI in dev env 2011-02-19 12:18:49 +01:00
Pablo Godel
f6a1c2d195 renamed SQLiteProfilerStorage to SqliteProfilerStorage 2011-02-15 21:57:09 +01:00
Fabien Potencier
1c11d81611 made all event listeners lazy loaded
* The register() method on all listeners has been removed
 * Instead, the information is now put directly in the DIC tag

For instance, a listener on core.request had this method:

   public function register(EventDispatcher $dispatcher, $priority = 0)
   {
       $dispatcher->connect('core.response', array($this, 'filter'), $priority);
   }

And this tag in the DIC configuration:

  <tag name="kernel.listener" />

Now, it only has the following configuration:

  <tag name="kernel.listener" event="core.response" method="filter" priority="0" />

The event and method attributes are now mandatory.
2011-01-23 18:07:05 +01:00
Johannes M. Schmitt
da5475ec42 service visibility changes 2011-01-05 16:01:48 +01:00
Fabien Potencier
2985cfa5a9 [FrameworkBundle] converted the special Profiler class to a DIC compiler class 2010-12-23 12:58:34 +01:00
Fabien Potencier
0b378d1b3e added a way to conditionnaly enable the profiler based on the request 2010-09-02 13:54:32 +02:00
Fabien Potencier
60ea1eef69 added a configuraiton to allow the profiler to be enabled only when an exception occurs 2010-08-31 22:22:31 +02:00
Fabien Potencier
72db4c7342 refactored Profiler and DataCollector classes (the WDT has been removed and will be re-added in the upcoming WebProfilerBundle) 2010-08-29 12:17:06 +02:00
Fabien Potencier
bf82cf42dd renamed Symfony\Components to Symfony\Component 2010-08-20 23:09:55 +02:00
Fabien Potencier
355ed9b5f9 renamed annotation to tag in the DIC 2010-08-05 07:34:53 +02:00
Fabien Potencier
15d439809c renamed Symfony\Bundle\FoundationBundle to Symfony\Bundle\FrameworkBundle 2010-07-09 10:25:52 +02:00