|
@@ -38,9 +38,9 @@ Controllers
|
|
|
-----------
|
|
|
|
|
|
Flint tries to make Silex more like Symfony. And by using closures it is
|
|
|
-hard to seperate controllers in a logic way when you have more than a
|
|
|
+hard to separate controllers in a logical way when you have more than a
|
|
|
couple of them. To make it better it is recommended to use classes and
|
|
|
-methods for controllers. The basics is `explained
|
|
|
+methods for controllers. The basics are `explained
|
|
|
here <http://silex.sensiolabs.org/doc/usage.html#controllers-in-classes>`__
|
|
|
but Flint takes it further and allows the application to be injected
|
|
|
into a controller.
|
|
@@ -69,7 +69,7 @@ of ``$container``.
|
|
|
}
|
|
|
|
|
|
Another way is to use a base controller which have convenience methods
|
|
|
-for the most frequently used services. Theese methods can be seen in the
|
|
|
+for the most frequently used services. These methods can be seen in the
|
|
|
source code if you look at the implementation for
|
|
|
``Flint\Controller\Controller``.
|
|
|
|
|
@@ -93,16 +93,16 @@ Routing
|
|
|
-------
|
|
|
|
|
|
Because Flint replaces the url matcher used in Symfony with the full
|
|
|
-router implementation a lot of new things is possible.
|
|
|
+router implementation a lot of new things are possible.
|
|
|
|
|
|
-Caching is one of thoose things. It makes your application faster as it
|
|
|
+Caching is one of those things. It makes your application faster as it
|
|
|
does not need to register routes on every request. Together with loading
|
|
|
your routes from a configuration file like Symfony it will also bring
|
|
|
more structure to your application.
|
|
|
|
|
|
To enable caching you just need to point the router to the directory you
|
|
|
want to use and if it should cache or not. By default the ``debug``
|
|
|
-parameter will be used as to determaine if cache should be used or not.
|
|
|
+parameter will be used as to determine if cache should be used or not.
|
|
|
|
|
|
.. code-block:: php
|
|
|
|
|
@@ -113,9 +113,24 @@ parameter will be used as to determaine if cache should be used or not.
|
|
|
'cache_dir' => '/my/cache/directory/routing',
|
|
|
);
|
|
|
|
|
|
+.. warning:: Migrating from Silex
|
|
|
+
|
|
|
+ If you are migrating from Silex, you must move all of your
|
|
|
+ anonymous controller callbacks into controller methods before you
|
|
|
+ try to enable caching for the router. Anonymous callbacks are
|
|
|
+ instances of the Closure class and so cannot be exported into
|
|
|
+ the cached PHP class.
|
|
|
+
|
|
|
+ For this reason, all controller service providers must use
|
|
|
+ named methods in controller classes, too.
|
|
|
+
|
|
|
+ ``UrlGeneratorServiceProvider`` conflicts with Flint's
|
|
|
+ ``RoutingServiceProvider`` which provides a ``url_generator``
|
|
|
+ service.
|
|
|
+
|
|
|
Before it is possible to use the full power of caching it is needed to
|
|
|
use configuration files because Silex will always call add routes via
|
|
|
-its convenience methods ``get|post|delete|put``. Furtunately this is
|
|
|
+its convenience methods ``get|post|delete|put``. Fortunately this is
|
|
|
baked right in.
|
|
|
|
|
|
.. code-block:: php
|
|
@@ -154,7 +169,7 @@ Also it will make it easier to generate routes from inside your views.
|
|
|
|
|
|
This is also possible with Silex but with a more verbose syntax. The
|
|
|
syntax can be even more precise by using the twig functions that is
|
|
|
-available in the Twig bridge for Symfony. To enable thoose add the twig
|
|
|
+available in the Twig bridge for Symfony. To enable those add the twig
|
|
|
bridge to your composer file.
|
|
|
|
|
|
.. code-block:: json
|
|
@@ -175,7 +190,7 @@ Now it is possible to use the functions inside your Twig templates.
|
|
|
Default Parameters
|
|
|
------------------
|
|
|
|
|
|
-The two contructor arguments ``$rootDir`` and ``$debug`` are also
|
|
|
+The two constructor arguments ``$rootDir`` and ``$debug`` are also
|
|
|
registered on the application as parameters. This makes it easier for
|
|
|
services to add paths for caching, logs or other directories.
|
|
|
|
|
@@ -195,7 +210,7 @@ matter the most. Such as having a custom error page instead of the one
|
|
|
Silex provides by default. Also it can help a lost user navigate back.
|
|
|
Flint makes this possible by using the exception handler from Symfony
|
|
|
and a dedicated controller. Both the views and the controller can be
|
|
|
-overrriden.
|
|
|
+overridden.
|
|
|
|
|
|
This will only work when debug is turned off.
|
|
|
|
|
@@ -222,7 +237,7 @@ set to ``Flint\\Controller\\ExceptionController::showAction``.
|
|
|
|
|
|
To see what parameter the controller action takes look at the one
|
|
|
provided by default. Normally it should not be overwritten as it already
|
|
|
-gives a lot of flexibilty with the template lookup.
|
|
|
+gives a lot of flexibility with the template lookup.
|
|
|
|
|
|
|
|
|
Pimple Console
|
|
@@ -288,7 +303,7 @@ Configuration
|
|
|
-------------
|
|
|
|
|
|
Every application need to have some parameters configured based on environment or other parameters.
|
|
|
-Flint comes with a ``Configurator`` which reads ``json`` files and sets them as parmeters on your application.
|
|
|
+Flint comes with a ``Configurator`` which reads ``json`` files and sets them as parameters on your application.
|
|
|
|
|
|
It is very easy to use:
|
|
|
|