Commit Graph

259 Commits

Author SHA1 Message Date
Fabien Potencier
adc7904c33 [FrameworkBundle] fixed phpdoc 2011-06-07 19:49:03 +02:00
Fabien Potencier
aaf1300a20 merged hhamon/controller_getrequest_method 2011-06-07 19:48:40 +02:00
Fabien Potencier
74fbdc2fe2 Merge remote branch 'hhamon/typo_fix'
* hhamon/typo_fix:
  [FrameworkBundle] some typo fixes in phpdoc.
2011-06-07 19:39:03 +02:00
Fabien Potencier
1363068686 [FrameworkBundle] fixed phpdoc 2011-06-07 16:13:08 +02:00
Hugo Hamon
1c96ee672a [FrameworkBundle] some typo fixes in phpdoc. 2011-06-07 15:35:03 +02:00
Hugo Hamon
37b2df25bf [FrameworkBundle] Introduced a new Controller::getRequest() method to get the Request service from a controller. 2011-06-07 15:33:20 +02:00
Ryan Weaver
172c956b73 [FrameworkBundle] Adding a check for the existence of the Doctrine service 2011-06-02 13:26:51 -05:00
Ryan Weaver
28dcb3c581 [FrameworkBundle][DoctrineBundle] Adding a few shortcut methods
This adds to convience methods, for two separate reasons:

* Controller::getDoctrine() - this will allow method completion on the Registry class to work in IDEs, is slightly shorter, and should feel very "concrete" to beginners

* Registry::getRepository() - the repository is a very convenient thing to need - this allows it to be fetched much more succintly

Overall Before:

    $product = $this->get('doctrine')
        ->getEntityManager()
        ->getRepository('AcmeDemoBundle:Product')
        ->find($id);

Overall After (with IDE method auto-completion for `getRepository`):

    $product = $this->getDoctrine()
        ->getRepository('AcmeDemoBundle:Product')
        ->find($id);
2011-06-02 09:31:22 -05:00
Katsuhiro OGAWA
16a40f6112 [FrameworkBundle] Fixed phpdoc. 2011-06-01 17:45:51 +09:00
Katsuhiro OGAWA
57fa3af441 [FrameworkBundle] Fixed signature of the Controller::createForm() to accept string type 2011-05-31 11:02:49 +09:00
Ryan Weaver
9f4e88ec17 [FrameworkBundle] Adding two form-related methods to the base controller
With these two methods, the concept of a "form factory" doesn't need to be understood by a beginner to create forms.
2011-05-29 23:00:31 -05:00
kaiwa
cdf4b6aa77 Checked log levels 2011-05-27 20:29:51 +02:00
Kai
a45d3eeeb6 Reverted last commit 2011-05-25 21:15:34 +02:00
Kai
529381b378 ControllerNotFound: Changed log level from info to error. Also moved
throw exception code block up, to prevent the message from beeing
logged multiple times.
2011-05-25 21:01:19 +02:00
Fabien Potencier
3949b8e3f1 [FrameworkBundle] fixed redirect controller when a non-standard port is used (closes #965) 2011-05-16 08:21:58 +02:00
Fabien Potencier
0bad012290 [FrameworkBundle] changed template string by TemplateReference instances in ExceptionController 2011-05-11 18:33:59 +02:00
Fabien Potencier
514b47c6d4 [FrameworkBundle] added a simple way to customize errors according to the HTTP status code 2011-05-11 18:02:50 +02:00
Pascal Borreli
8c0beea677 [Phpdoc] Cleaning/fixing 2011-04-23 15:18:47 +00: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
Ryan Weaver
ad80966d83 [FrameworkBundle] Adding a shortcut method to the controller for throwing the NotFoundHttpException
The rationale is that this is a very common task and we can't expect non-advanced users to have to remember what the fully-qualified
class name of the Exception is in order to use it.
2011-03-27 10:50:26 -05:00
Fabien Potencier
662a4b3740 removed the status message from HttpException, changed the signature so that most useful arguments are first, fixed many small problems introduced with previous HTTP exception refactoring
Quote from HTTP (bis) spec (Part 2 - 5.1.1):

The Reason Phrase exists for the
sole purpose of providing a textual description associated with the
numeric status code, out of deference to earlier Internet application
protocols that were more frequently used with interactive text
clients.  A client SHOULD ignore the content of the Reason Phrase.
2011-03-23 16:11:54 +01:00
Ryan Weaver
98d03d1aec [FrameworkBundle] Giving a more specific message when a Bundle:Controller:Action controller class cannot be found
It's a detail, but it hits usability. For normal bundles (those without children), we're able to actually print the namespace where we're looking for the Controller. For bundles with children, this would be a very verbose message, but we can at least print all of the bundles that we looked inside of.
2011-03-22 22:10:45 -05:00
Fabien Potencier
1991437766 Merge remote branch 'kriswallsmith/router/method-not-allowed' 2011-03-22 16:40:41 +01:00
Ryan Weaver
9ee9f5552b [FrameworkBundle] Adding the redirect method back to the base controller
Some question whether or not the base Controller should be included at all. I think it absolutely must be included because it's important for beginners and for rapid development of smaller features/applications (and rapid development is good for beginners).

So, assuming that we *do* like the base Controller, we should really use it to its fullest potential - making the lives of developers as easy as possible.
2011-03-22 08:21:07 -05:00
Kris Wallsmith
2217a0d7e4 [FrameworkBundle] updated to support 405 Method Not Found responses 2011-03-21 05:58:02 -07:00
Fabien Potencier
8c423edfef replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
Christophe Coevoet
92bfbf575c Fixed CS 2011-02-27 20:56:29 +01:00
Pascal Borreli
1dca1ea002 [FrameworkBundle] Fixed typo 2011-02-26 20:02:05 +01:00
Fabien Potencier
353177d1d6 replaced Response::createRedirect by a new RedirectResponse class 2011-02-21 18:10:53 +01:00
Fabien Potencier
d94acd85f9 remove response as a service
The Response is not available in the DIC anymore.

When you need to create a response, create an instance of
Symfony\Component\HttpFoundation\Response instead.

As a side effect, the Controller::createResponse() and Controller::redirect()
methods have been removed and can easily be replaced as follows:

  return $this->createResponse('content', 200, array('foo' => 'bar'));
  return new Response('content', 200, array('foo' => 'bar'));

  return $this->redirect($url);
  return Response::createRedirect($url);
2011-02-21 17:36:04 +01:00
Fabien Potencier
9a25878109 [FrameworkBundle] removed the Welcome page and moved it to the sandbox/standard distrib 2011-02-19 18:55:33 +01:00
Jordi Boggiano
fe694de746 [Routing] Make trailing slashes in urls optional 2011-02-10 23:46:23 +01:00
Marcin Sikon
b9ed739d75 fixed RedirectController - removed parmanent attribute before generate new url, added tests 2011-02-07 00:15:22 +01:00
Fabien Potencier
1babf3c7a1 [FrameworkBundle] added a safeguard for infinite loops on some Windows configurations 2011-01-31 08:54:05 +01:00
Damien Alexandre
56483dc14f The ControlerResolver service as been moved in http_kernel 2011-01-30 20:17:31 +01:00
Fabien Potencier
025e142dd4 removed parameter converters as decided during IRC meeting (supported is still provided by FrameworkExtraBundle)
You must remove the configuration element if you had enabled the feature:

         <app:param-converter />
2011-01-29 15:04:28 +01:00
Johannes M. Schmitt
cf64d2cfe7 namespace changes
Symfony\Component\Security -> Symfony\Component\Security\Core
Symfony\Component\Security\Acl remains unchanged
Symfony\Component\HttpKernel\Security -> Symfony\Component\Security\Http
2011-01-26 22:23:20 +01:00
Fabien Potencier
36dcce40eb changed method signature to use the new KernelInterface 2011-01-25 17:20:20 +01:00
Fabien Potencier
0e66e388ec added two interfaces: EventInterface and EventDispatcherInterface 2011-01-25 14:23:32 +01:00
Jeremy Mikola
b3d55850df [FrameworkBundle] Controller::forward() should invoke HttpKernel instead of ControllerResolver 2011-01-24 17:45:19 +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
Fabien Potencier
73ab687521 moved ControllerResolver methods to HttpKernel (makes more sense) 2011-01-23 10:23:33 +01:00
Hugo Hamon
c13b0db4c8 [HttpFoundation] fixed outdated documentation for the Controller class, which does not implement ArrayAccess anymore. 2011-01-22 07:19:11 +01:00
Fabien Potencier
645528c9c6 fixed typo 2011-01-21 16:28:24 +01:00
Henrik Bjørnskov
5e9c9f4174 Template rename fix files 2011-01-21 15:06:10 +01:00
Fabien Potencier
6d1e91a1fa refactored bundle management
Before I explain the changes, let's talk about the current state.

Before this patch, the registerBundleDirs() method returned an ordered (for
resource overloading) list of namespace prefixes and the path to their
location. Here are some problems with this approach:

 * The paths set by this method and the paths configured for the autoloader
   can be disconnected (leading to unexpected behaviors);

 * A bundle outside these paths worked, but unexpected behavior can occur;

 * Choosing a bundle namespace was limited to the registered namespace
   prefixes, and their number should stay low enough (for performance reasons)
   -- moreover the current Bundle\ and Application\ top namespaces does not
   respect the standard rules for namespaces (first segment should be the
   vendor name);

 * Developers must understand the concept of "namespace prefixes" to
   understand the overloading mechanism, which is one more thing to learn,
   which is Symfony specific;

 * Each time you want to get a resource that can be overloaded (a template for
   instance), Symfony would have tried all namespace prefixes one after the
   other until if finds a matching file. But that can be computed in advance
   to reduce the overhead.

Another topic which was not really well addressed is how you can reference a
file/resource from a bundle (and take into account the possibility of
overloading). For instance, in the routing, you can import a file from a
bundle like this:

  <import resource="FrameworkBundle/Resources/config/internal.xml" />

Again, this works only because we have a limited number of possible namespace
prefixes.

This patch addresses these problems and some more.

First, the registerBundleDirs() method has been removed. It means that you are
now free to use any namespace for your bundles. No need to have specific
prefixes anymore. You are also free to store them anywhere, in as many
directories as you want. You just need to be sure that they are autoloaded
correctly.

The bundle "name" is now always the short name of the bundle class (like
FrameworkBundle or SensioCasBundle). As the best practice is to prefix the
bundle name with the vendor name, it's up to the vendor to ensure that each
bundle name is unique. I insist that a bundle name must be unique. This was
the opposite before as two bundles with the same name was how Symfony2 found
inheritance.

A new getParent() method has been added to BundleInterface. It returns the
bundle name that the bundle overrides (this is optional of course). That way,
there is no ordering problem anymore as the inheritance tree is explicitely
defined by the bundle themselves.

So, with this system, we can easily have an inheritance tree like the
following:

FooBundle < MyFooBundle < MyCustomFooBundle

MyCustomFooBundle returns MyFooBundle for the getParent() method, and
MyFooBundle returns FooBundle.

If two bundles override the same bundle, an exception is thrown.

Based on the bundle name, you can now reference any resource with this
notation:

    @FooBundle/Resources/config/routing.xml
    @FooBundle/Controller/FooController.php

This notation is the input of the Kernel::locateResource() method, which
returns the location of the file (and of course it takes into account
overloading).

So, in the routing, you can now use the following:

    <import resource="@FrameworkBundle/Resources/config/internal.xml" />

The template loading mechanism also use this method under the hood.

As a bonus, all the code that converts from internal notations to file names
(controller names: ControllerNameParser, template names: TemplateNameParser,
resource paths, ...) is now contained in several well-defined classes. The
same goes for the code that look for templates (TemplateLocator), routing
files (FileLocator), ...

As a side note, it is really easy to also support multiple-inheritance for a
bundle (for instance if a bundle returns an array of bundle names it extends).
However, this is not implemented in this patch as I'm not sure we want to
support that.

How to upgrade:

 * Each bundle must now implement two new mandatory methods: getPath() and
   getNamespace(), and optionally the getParent() method if the bundle extends
   another one. Here is a common implementation for these methods:

    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return 'MyFrameworkBundle';
    }

    /**
     * {@inheritdoc}
     */
    public function getNamespace()
    {
        return __NAMESPACE__;
    }

    /**
     * {@inheritdoc}
     */
    public function getPath()
    {
        return strtr(__DIR__, '\\', '/');
    }

 * The registerBundleDirs() can be removed from your Kernel class;

 * If your code relies on getBundleDirs() or the kernel.bundle_dirs parameter,
   it should be upgraded to use the new interface (see Doctrine commands for
   many example of such a change);

 * When referencing a bundle, you must now always use its name (no more \ or /
   in bundle names) -- this transition was already done for most things
   before, and now applies to the routing as well;

 * Imports in routing files must be changed:
    Before: <import resource="Sensio/CasBundle/Resources/config/internal.xml" />
    After:  <import resource="@SensioCasBundle/Resources/config/internal.xml" />
2011-01-20 18:42:47 +01:00
Dominique Bongiraud
64fb94c725 normalized license messages in PHP files 2011-01-18 08:07:46 +01:00
Fabien Potencier
38cbc610e9 [FrameworkBundle] fixed controller names conversion when a bundle is defined in two different namespaces 2011-01-15 20:40:55 +01:00
Fabien Potencier
272933d2ce fixed typo 2011-01-15 15:30:15 +01:00
Fabien Potencier
7ac6d59173 changed the bundle name to be the class name of the bundle, not the last part of the namespace
Let's take some examples to explain the change.

First, if you don't use any vendored bundles, this commit does not change anything.

So, let's say you use a FooBundle from Sensio. The files are stored under Bundle\Sensio\FooBundle.
And the Bundle class is Bundle\Sensio\FooBundle\SensioFooBundle.php.

Before the change, the bundle name ($bundle->getName()) would have returned 'FooBundle'.
Now it returns 'SensioFooBundle'.

Why does it matter? Well, it makes template names and controller names easier to read:

Before:

    Template: Sensio\FooBundle:Bar:index.twig.html
    Controller: Sensio\FooBundle:Bar:indexAction

After

    Template: SensioFooBundle:Bar:index.twig.html
    Controller: SensioFooBundle:Bar:indexAction

NB: Even if the change seems simple enough, the implementation is not. As finding
the namespace from the bundle class name is not trivial

NB2: If you don't follow the bundle name best practices, this will probably
leads to unexpected behaviors.
2011-01-15 15:17:01 +01:00
Fabien Potencier
a365ab2884 changed the template name format
Before

bundle:section:template.format.renderer

After

bundle:section:template.renderer.format

Notice that both the renderer and the format are mandatory.
2011-01-15 12:33:27 +01:00
Henrik Bjørnskov
3516a043bc [FrameworkBundle] Moved the adding of Converter tags to a CompilerPass by suggestion of schmittjoh. 2010-12-23 11:08:19 +01:00
Henrik Bjørnskov
5b68548e41 [FrameworkBundle] Fixed ParamConverterListener call to NotFoundHttpException 2010-12-23 11:08:16 +01:00
Fabien Potencier
1af21221ae refactored and fix previous commit 2010-12-22 15:33:38 +01:00
Henrik Bjørnskov
baf07a13ac added converter manager and converter interface incl. tests 2010-12-22 14:38:38 +01:00
mwsaz
ddd05cfce4 [FrameworkBundle] fixed 404 exception class name 2010-12-12 07:36:41 +01:00
Fabien Potencier
55bed307f1 removed HttpException base class, refactored FlattenException class 2010-12-10 09:16:42 +01:00
Jordi Boggiano
910a65255c [FrameworkBundle] Remove unnecessary @-rule 2010-11-26 16:53:05 +01:00
Fabien Potencier
944d91c1df made some method name changes to have a better coherence throughout the framework
When an object has a "main" many relation with related "things" (objects,
parameters, ...), the method names are normalized:

 * get()
 * set()
 * all()
 * replace()
 * remove()
 * clear()
 * isEmpty()
 * add()
 * register()
 * count()
 * keys()

The classes below follow this method naming convention:

 * BrowserKit\CookieJar -> Cookie
 * BrowserKit\History -> Request
 * Console\Application -> Command
 * Console\Application\Helper\HelperSet -> HelperInterface
 * DependencyInjection\Container -> services
 * DependencyInjection\ContainerBuilder -> services
 * DependencyInjection\ParameterBag\ParameterBag -> parameters
 * DependencyInjection\ParameterBag\FrozenParameterBag -> parameters
 * DomCrawler\Form -> FormField
 * EventDispatcher\Event -> parameters
 * Form\FieldGroup -> Field
 * HttpFoundation\HeaderBag -> headers
 * HttpFoundation\ParameterBag -> parameters
 * HttpFoundation\Session -> attributes
 * HttpKernel\Profiler\Profiler -> DataCollectorInterface
 * Routing\RouteCollection -> Route
 * Security\Authentication\AuthenticationProviderManager -> AuthenticationProviderInterface
 * Templating\Engine -> HelperInterface
 * Translation\MessageCatalogue -> messages

The usage of these methods are only allowed when it is clear that there is a
main relation:

 * a CookieJar has many Cookies;

 * a Container has many services and many parameters (as services is the main
   relation, we use the naming convention for this relation);

 * a Console Input has many arguments and many options. There is no "main"
   relation, and so the naming convention does not apply.

For many relations where the convention does not apply, the following methods
must be used instead (where XXX is the name of the related thing):

 * get()      -> getXXX()
 * set()      -> setXXX()
 * all()      -> getXXXs()
 * replace()  -> setXXXs()
 * remove()   -> removeXXX()
 * clear()    -> clearXXX()
 * isEmpty()  -> isEmptyXXX()
 * add()      -> addXXX()
 * register() -> registerXXX()
 * count()    -> countXXX()
 * keys()
2010-11-25 17:30:06 +01:00
Fabien Potencier
60bbb8f380 [DependencyInjection] optimized compiled containers
* removed the __call() method in Container: it means that now, there is only
   one way to get a service: via the get() method;

 * removed the $shared variable in the dumped Container classes (we now use
   the $services variable from the parent class directly -- this is where we
   have a performance improvement);

 * optimized the PHP Dumper output.
2010-11-23 22:43:09 +01:00
Fabien Potencier
7b835cbc57 [FrameworkBundle] added @ before using ob_get_clean() for compatibility with PHP 5.4 2010-11-21 21:51:19 +01:00
Fabien Potencier
6fa943ad54 moved Exception and WebProfiler templates to Twig 2010-11-21 15:37:01 +01:00
Fabien Potencier
f6cc63c99c removed ArrayAccess interface for Container and Controller 2010-11-15 10:05:28 +01:00
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
Jordi Boggiano
e7ea2eb433 [FrameworkBundle] Ensuring the exception page renders even when the Request format is unknown to Symfony 2010-11-03 15:30:55 +01:00
Fabien Potencier
5bd03e1c58 [HttpKernel] added unit tests for ESI 2010-11-02 20:00:18 +01:00
jeff
9acda523b1 Fix typo in RedirectController 2010-10-31 13:42:03 +01:00
Fabien Potencier
2b613f34d5 [FrameworkBundle] removed the need for decorating with SafeDecorator 2010-10-28 11:50:33 +02:00
Fabien Potencier
bdb051083c [FrameworkBundle] removed default controller for login 2010-10-20 11:34:21 +02:00
Fabien Potencier
f216f313e8 added the Security Component and its integration into the MVC framework
Happy birthday symfony!
2010-10-19 13:33:17 +02:00
Kris Wallsmith
f79e23ffb5 Removed all those spaces after @author that were bothering me so… 2010-10-18 16:55:41 +02:00
Fabien Potencier
a6dc10c31a changed templating name notation
Old notation: bundle:section:name.format:renderer (where both format and renderer are optional)
New notation: bundle:section:name.format.renderer (where only format is optional)

Valid new template names: Blog:Post:index.php, Blog:Post:index.xml.php

The new notation is more explicit and put all templating engines on the same level (there is no
more the concept of a "default" templating engine).

Even if the notation changed, the semantic has not. So, the logical template name for the above
examples is still 'index'. So, if you use a database loader for instance, the template
name is 'index' and everything else are options.

Upgrading current applications can be easily done by appending .php to each existing template
name reference (in both controllers and templates), and changing :twig to .twig for Twig templates
(for twig templates, you should also add .twig within templates themselves when referencing
another Twig templates).
2010-09-28 08:33:33 +02:00
Fabien Potencier
2d80788e3a [FrameworkBundle] added support for services as controllers 2010-09-23 08:41:24 +02:00
Fabien Potencier
d657adbfa2 removed Symfony\Framework
Things have been moved to Symfony\Component\HttpKernel
and Symfony\Bundle\FrameworkBundle

The kernel configuration namespace was removed and merged
with the main web configuration namespace (kernel:config => web:config,
kernel:test => web:test, and kernel:session => web:session):

Before:
<kernel:config charset="UTF-8" error_handler="null" />

<web:config csrf-secret="xxxxxxxxxx">
    <web:router resource="%kernel.root_dir%/config/routing.xml" />
    <web:validation enabled="true" annotations="true" />
</web:config>

After:
<web:config csrf-secret="xxxxxxxxxx" charset="UTF-8" error-handler="null">
    <web:router resource="%kernel.root_dir%/config/routing.xml" />
    <web:validation enabled="true" annotations="true" />
</web:config>

Renamed classes:

Symfony\{Framework => Bundle\FrameworkBundle}\Cache\Cache
Symfony\{Framework => Bundle\FrameworkBundle}\Client
Symfony\{Framework => Bundle\FrameworkBundle}\Debug\EventDispatcher
Symfony\{Framework => Bundle\FrameworkBundle}\Debug\EventDispatcherTraceableInterface
Symfony\{Framework => Bundle\FrameworkBundle}\EventDispatcher
Symfony\{Framework => Component\HttpFoundation}\UniversalClassLoader
Symfony\{Framework => Component\HttpKernel}\Bundle\Bundle
Symfony\{Framework => Component\HttpKernel}\Bundle\BundleInterface
Symfony\{Framework => Component\HttpKernel}\ClassCollectionLoader
Symfony\{Framework => Component\HttpKernel}\Debug\ErrorException
Symfony\{Framework => Component\HttpKernel}\Debug\ErrorHandler
Symfony\{Bundle\FrameworkBundle => Component\HttpKernel}\Debug\ExceptionListener
Symfony\{Framework => Component\HttpKernel}\Kernel
2010-09-17 12:58:24 +02:00
Fabien Potencier
994a6c36ac changed actions::render() helper method signature 2010-08-30 09:15:54 +02:00
Fabien Potencier
6b5c3d05bd [FrameworkBundle] removed usage of Controller class for internal controllers 2010-08-30 07:26:19 +02:00
Fabien Potencier
b1b3ce83ae [FrameworkBundle] fixed method signature 2010-08-30 07:15:00 +02:00
Fabien Potencier
0208800459 refactored exception management (removed the ExceptionManager) 2010-08-29 12:35:48 +02:00
Fabien Potencier
eb66e0dc00 [FrameworkBundle] made exception controller embeddable 2010-08-28 10:12:18 +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
57db35b93b made ExceptionManager independent of the Request 2010-08-26 14:46: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
ec8500bd64 [FrameworkBundle] added support for previous exceptions in the exception pages 2010-08-24 14:01:57 +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
68af528813 [FrameworkBundle] fixed typo 2010-08-18 13:57:15 +02:00
Fabien Potencier
d5069fc594 [FrameworkBundle] refactored Exception management 2010-08-17 20:09:38 +02:00
Fabien Potencier
955fd40dd8 moved Logger interfaces to a HttpKernel Log sub-namespace 2010-08-17 19:43:29 +02:00
Fabien Potencier
509bfb8940 [FrameworkBundle] removed Container dependency for ExceptionFormatter 2010-08-14 22:39:58 +02:00
Fabien Potencier
917da00763 [FrameworkBundle] changed error_log() calls to logger calls 2010-08-14 22:37:33 +02:00
Fabien Potencier
0da7295a9c [FrameworkBundle] clean up Request before forwarding 2010-08-14 22:24:55 +02:00
ornicar
c9ff42955b fixed usage of getRequest() in ControllerResolver 2010-08-14 22:21:36 +02:00
Fabien Potencier
714fa6f652 [FrameworkBundle] fixed built-in controllers 2010-08-14 22:19:15 +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
50617e1acb [FrameworkBundle] added an error message when an exception is thrown when handling another exception 2010-08-11 23:15:17 +02:00
Fabien Potencier
9e157f51a3 [FrameworkBundle] made a small optimization 2010-08-11 19:39:01 +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
Fabien Potencier
7dc5ae3808 renamed request path property to request attributes 2010-07-21 22:49:49 +02:00
Fabien Potencier
df8ccb4696 [FrameworkBundle] added an event to filter the controller arguments 2010-07-21 21:13:34 +02:00
Fabien Potencier
fb4bd3568d refactored the controller manager, moved generic parts to the HttpKernel component 2010-07-13 08:53:30 +02:00
Fabien Potencier
256a71298c fixed phpdoc 2010-07-09 10:28:08 +02:00
Fabien Potencier
15d439809c renamed Symfony\Bundle\FoundationBundle to Symfony\Bundle\FrameworkBundle 2010-07-09 10:25:52 +02:00