Commit c6f938f6 authored by Fabien Potencier's avatar Fabien Potencier

minor #1230 Remove usage of the request service in the docs (fabpot)

This PR was merged into the 2.0.x-dev branch.

Discussion
----------

Remove usage of the request service in the docs

Commits
-------

27a3efcd removed usage of the request service in the docs
parents a01b32b1 27a3efcd
......@@ -158,14 +158,16 @@ given. If the default is also missing, it will use an empty string.
You can now use this provider as follows::
use Symfony\Component\HttpFoundation\Request;
$app = new Silex\Application();
$app->register(new Acme\HelloServiceProvider(), array(
'hello.default_name' => 'Igor',
));
$app->get('/hello', function () use ($app) {
$name = $app['request']->get('name');
$app->get('/hello', function (Request $request) use ($app) {
$name = $request->get('name');
return $app['hello']($name);
});
......
......@@ -51,6 +51,7 @@ The ``SerializerServiceProvider`` provider provides a ``serializer`` service:
use Silex\Application;
use Silex\Provider\SerializerServiceProvider;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$app = new Application();
......@@ -58,18 +59,18 @@ The ``SerializerServiceProvider`` provider provides a ``serializer`` service:
$app->register(new SerializerServiceProvider());
// only accept content types supported by the serializer via the assert method.
$app->get("/pages/{id}.{_format}", function ($id) use ($app) {
$app->get("/pages/{id}.{_format}", function (Request $request, $id) use ($app) {
// assume a page_repository service exists that returns Page objects. The
// object returned has getters and setters exposing the state.
$page = $app['page_repository']->find($id);
$format = $app['request']->getRequestFormat();
$format = $request->getRequestFormat();
if (!$page instanceof Page) {
$app->abort("No page found for id: $id");
}
return new Response($app['serializer']->serialize($page, $format), 200, array(
"Content-Type" => $app['request']->getMimeType($format)
"Content-Type" => $request->getMimeType($format)
));
})->assert("_format", "xml|json")
->assert("id", "\d+");
......
......@@ -62,11 +62,12 @@ Usage
The Session provider provides a ``session`` service. Here is an example that
authenticates a user and creates a session for them::
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$app->get('/login', function () use ($app) {
$username = $app['request']->server->get('PHP_AUTH_USER', false);
$password = $app['request']->server->get('PHP_AUTH_PW');
$app->get('/login', function (Request $request) use ($app) {
$username = $request->server->get('PHP_AUTH_USER', false);
$password = $request->server->get('PHP_AUTH_PW');
if ('igor' === $username && 'password' === $password) {
$app['session']->set('user', array('username' => $username));
......
......@@ -86,9 +86,9 @@ Usage
The Swiftmailer provider provides a ``mailer`` service::
$app->post('/feedback', function () use ($app) {
$request = $app['request'];
use Symfony\Component\HttpFoundation\Request;
$app->post('/feedback', function (Request $request) use ($app) {
$message = \Swift_Message::newInstance()
->setSubject('[YourSite] Feedback')
->setFrom(array('noreply@yoursite.com'))
......
......@@ -167,18 +167,17 @@ Core services
Silex defines a range of services.
* **request**: Contains the current request object, which is an instance of
`Request
<http://api.symfony.com/master/Symfony/Component/HttpFoundation/Request.html>`_.
* **request_stack**: Controls the lifecycle of requests, an instance of
`RequestStack <http://api.symfony.com/master/Symfony/Component/HttpFoundation/RequestStack.html>` _.
It gives you access to ``GET``, ``POST`` parameters and lots more!
Example usage::
$id = $app['request']->get('id');
$id = $app['request_stack']->getCurrentRequest()->get('id');
This is only available when a request is being served; you can only access
it from within a controller, an application before/after middlewares, or an
error handler.
A request is only available when a request is being served; you can only
access it from within a controller, an application before/after middlewares,
or an error handler.
* **routes**: The `RouteCollection
<http://api.symfony.com/master/Symfony/Component/Routing/RouteCollection.html>`_
......
......@@ -760,8 +760,11 @@ Cross-Site-Scripting attacks.
* **Escaping HTML**: PHP provides the ``htmlspecialchars`` function for this.
Silex provides a shortcut ``escape`` method::
$app->get('/name', function (Silex\Application $app) {
$name = $app['request']->get('name');
use Symfony\Component\HttpFoundation\Request;
$app->get('/name', function (Request $request, Silex\Application $app) {
$name = $request->get('name');
return "You provided the name {$app->escape($name)}.";
});
......@@ -771,8 +774,11 @@ Cross-Site-Scripting attacks.
* **Escaping JSON**: If you want to provide data in JSON format you should
use the Silex ``json`` function::
$app->get('/name.json', function (Silex\Application $app) {
$name = $app['request']->get('name');
use Symfony\Component\HttpFoundation\Request;
$app->get('/name.json', function (Request $request, Silex\Application $app) {
$name = $request->get('name');
return $app->json(array('name' => $name));
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment