Commit Graph

19 Commits

Author SHA1 Message Date
Fabien Potencier
7b02766373 fixed session management
Some explanations on how it works now:

 * The Session is an optional dependency of the Request. If you create the
   Request yourself (which is mandatory now in the front controller) and if
   you don't inject a Session yourself (which is recommended if you want the
   session to be configured via dependency injection), the Symfony2 Kernel
   will associate the Session configured in the Container with the Request
   automatically.

 * When duplicating a request, the session is shared between the parent and
   the child (that's because duplicated requests are sub-requests of the main
   one most of the time.) Notice that when you use ::create(), the behavior is
   the same as for the constructor; no session is attached to the Request.

 * Symfony2 tries hard to not create a session cookie when it is not needed
   but a Session object is always available (the cookie is only created when
   "something" is stored in the session.)

 * Symfony2 only starts a session when:

   * A session already exists in the request ($_COOKIE[session_name()] is
     defined -- this is done by RequestListener);

   * There is something written in the session object (the cookie will be sent
     to the Client).

 * Notice that reading from the session does not start the session anymore (as
   we don't need to start a new session to get the default values, and because
   if a session exists, it has already been started by RequestListener.)
2010-11-09 22:34:48 +01:00
Fabien Potencier
5bd03e1c58 [HttpKernel] added unit tests for ESI 2010-11-02 20:00:18 +01:00
Fabien Potencier
2d80788e3a [FrameworkBundle] added support for services as controllers 2010-09-23 08:41:24 +02:00
Fabien Potencier
994a6c36ac changed actions::render() helper method signature 2010-08-30 09:15:54 +02:00
Fabien Potencier
83a64df542 added ContainerAwareInterface 2010-08-28 09:43:10 +02:00
Fabien Potencier
2a4f7ef538 [FrameworkBundle] made sub-requests inherit from the parent session 2010-08-27 09:08:11 +02:00
Fabien Potencier
3c42e0b6ce [FrameworkBundle] changed the default value of ignore_errors according to the current debug value 2010-08-24 14:35:23 +02:00
Fabien Potencier
9c07e46d91 [FrameworkBundle] added ControllerInterface
A Controller must now implements ControllerInterface.

The BaseController can be used as the base class for Controllers.
The Controller class adds some proxy methods and an array access to the Container.
2010-08-24 08:47:41 +02:00
Fabien Potencier
bf82cf42dd renamed Symfony\Components to Symfony\Component 2010-08-20 23:09:55 +02:00
Fabien Potencier
955fd40dd8 moved Logger interfaces to a HttpKernel Log sub-namespace 2010-08-17 19:43:29 +02:00
ornicar
c9ff42955b fixed usage of getRequest() in ControllerResolver 2010-08-14 22:21:36 +02:00
Fabien Potencier
38edd2aafa added ControllerResolver::forward() (will probably move it elsewhere later on) 2010-08-14 20:56:49 +02:00
Fabien Potencier
ef0347c1b9 simplified HttpKernel types of request 2010-08-14 20:55:27 +02:00
Fabien Potencier
c043c46116 [FrameworkBundle] fixed actions helper (and allowed short notation in the resolver) 2010-08-10 15:03:31 +02:00
Fabien Potencier
485400dd51 refactored the controller resolver (+ made a small routing optimization) 2010-08-09 15:21:59 +02:00
Fabien Potencier
ee2ff39eaf removed @package and @subpackage annotations 2010-08-01 23:06:28 +02:00
Fabien Potencier
1a9f2ca755 updated PHPDoc as the API tool knows about the current use statements 2010-07-27 15:33:28 +02:00
Fabien Potencier
60670faf55 [FrameworkBundle] added PHPDoc to the Controller class 2010-07-27 11:53:34 +02:00
Fabien Potencier
e35d345204 changed HttpKernel workflow to allow more flexibility 2010-07-22 22:32:11 +02:00