Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0b3985d

Browse files
committed
Merge branch '2.7' into 2.8
2 parents532b0a4 +261126b commit0b3985d

File tree

20 files changed

+481
-405
lines changed

20 files changed

+481
-405
lines changed

‎book/controller.rst

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ If you want to redirect the user to another page, use the ``redirectToRoute()``
440440
}
441441

442442
..versionadded::2.6
443-
The ``redirectToRoute()`` method wasadded in Symfony 2.6. Previously (and still now), you
443+
The ``redirectToRoute()`` method wasintroduced in Symfony 2.6. Previously (and still now), you
444444
could use ``redirect()`` and ``generateUrl()`` together for this (see the example above).
445445

446446
Or, if you want to redirect externally, just use ``redirect()`` and pass it the URL::
@@ -619,12 +619,12 @@ session.
619619
Flash Messages
620620
~~~~~~~~~~~~~~
621621

622-
You can also storesmall messages that will be storedon the user's session.
623-
This is useful when processing a form:
624-
you want to redirect and have a special message shown on the *next* page.
625-
These types of messages are called "flash" messages.
622+
You can also storespecial messages, called "flash" messages,on the user's
623+
session. By design, flash messages are meant to be used exactly once: they vanish
624+
from the session automatically as soon as you retrieve them. This feature makes
625+
"flash" messages particularly great for storing user notifications.
626626

627-
For example, imagine you're processing a formsubmit::
627+
For example, imagine you're processing a formsubmission::
628628

629629
use Symfony\Component\HttpFoundation\Request;
630630

@@ -650,20 +650,20 @@ For example, imagine you're processing a form submit::
650650
return $this->render(...);
651651
}
652652

653-
After processing the request, the controller sets a``notice``flash message
654-
in the sessionand then redirects. Thename(``notice``) isn't significant -
655-
it's just something you invent and reference next.
653+
After processing the request, the controller sets a flash message in the session
654+
and then redirects. Themessage key(``notice`` in this example) can be anything:
655+
you'll use this key to retrieve the message.
656656

657-
In the template of the nextaction, the following code could be used to render
658-
the ``notice`` message:
657+
In the template of the nextpage (or even better, in your base layout template),
658+
read any flash messages from the session::
659659

660660
..configuration-block::
661661

662662
..code-block::html+jinja
663663

664-
{% forflashMessage in app.session.flashbag.get('notice') %}
664+
{% forflash_message in app.session.flashbag.get('notice') %}
665665
<div class="flash-notice">
666-
{{flashMessage }}
666+
{{flash_message }}
667667
</div>
668668
{% endfor %}
669669

@@ -677,9 +677,9 @@ the ``notice`` message:
677677

678678
..note::
679679

680-
By design, flash messages are meant to be processed exactly once. This means
681-
that they vanish from the session automatically when they are retrieved from
682-
the flash bag by calling the ``get()`` method.
680+
It's common to use ``notice``, ``warning`` and ``error`` as the keys of the
681+
different types of flash messages, but you can use any key that fits your
682+
needs.
683683

684684
..tip::
685685

@@ -811,6 +811,29 @@ Just like when creating a controller for a route, the order of the arguments of
811811
order of the arguments, Symfony will still pass the correct value to each
812812
variable.
813813

814+
Validating a CSRF Token
815+
-----------------------
816+
817+
Sometimes, you want to use CSRF protection in an action where you don't want to
818+
use the Symfony Form component. If, for example, you're doing a DELETE action,
819+
you can use the:method:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller::isCsrfTokenValid`
820+
method to check the CSRF token::
821+
822+
if ($this->isCsrfTokenValid('token_id', $submittedToken)) {
823+
// ... do something, like deleting an object
824+
}
825+
826+
..versionadded::2.6
827+
The ``isCsrfTokenValid()`` shortcut method was introduced in Symfony 2.6.
828+
It is equivalent to executing the following code:
829+
830+
..code-block::php
831+
832+
use Symfony\Component\Security\Csrf\CsrfToken;
833+
834+
$this->get('security.csrf.token_manager')
835+
->isTokenValid(new CsrfToken('token_id', 'TOKEN'));
836+
814837
Final Thoughts
815838
--------------
816839

‎book/installation.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,17 +98,17 @@ optional second argument of the ``new`` command:
9898
$ symfony new my_project_name 2.3.26
9999
$ symfony new my_project_name 2.6.5
100100
101-
If you want your project to be based on the latest:ref:`Symfony LTS version<releases-lts>`,
102-
pass ``lts`` as the second argument of the ``new`` command:
101+
# use a beta or RC version (useful for testing new Symfony versions)
102+
$ symfony new my_project 2.7.0-BETA1
103+
$ symfony new my_project 2.7.0-RC1
104+
105+
The installer also supports a special version called ``lts`` which installs the
106+
most recent:ref:`Symfony LTS version<releases-lts>` available:
103107

104108
..code-block::bash
105109
106-
# Linux, Mac OS X
107110
$ symfony new my_project_name lts
108111
109-
# Windows
110-
c:\projects\> php symfony new my_project_name lts
111-
112112
Read the:doc:`Symfony Release process</contributing/community/releases>`
113113
to better understand why there are several Symfony versions and which one
114114
to use for your projects.

‎book/routing.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1575,9 +1575,13 @@ to ``generate()``:
15751575

15761576
..code-block::html+php
15771577

1578+
<?php
1579+
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
1580+
?>
1581+
15781582
<a href="<?php echo $view['router']->generate('blog_show', array(
15791583
'slug' => 'my-blog-post',
1580-
),true) ?>">
1584+
),UrlGeneratorInterface::ABSOLUTE_URL) ?>">
15811585
Read this blog post.
15821586
</a>
15831587

‎book/security.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,6 +1378,15 @@ FriendsOfPHP organization.
13781378
any of your dependencies is affected by a known security vulnerability.
13791379
Therefore, you can easily integrate it in your build process.
13801380

1381+
..note::
1382+
1383+
To enable the ``security:check`` command, make sure the
1384+
`SensioDistributionBundle`_ is installed.
1385+
1386+
..code-block::bash
1387+
1388+
$ composer require'sensio/distribution-bundle'
1389+
13811390
Final Words
13821391
-----------
13831392

@@ -1408,3 +1417,4 @@ Learn More from the Cookbook
14081417
.. _`frameworkextrabundle documentation`:https://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/index.html
14091418
.. _`security advisories database`:https://github.com/FriendsOfPHP/security-advisories
14101419
.. _`HWIOAuthBundle`:https://github.com/hwi/HWIOAuthBundle
1420+
.. _`SensioDistributionBundle`:https://packagist.org/packages/sensio/distribution-bundle

‎book/templating.rst

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -580,8 +580,8 @@ you set `with_context`_ to false).
580580
elements, it would look like this: ``{'foo': foo, 'bar': bar}``.
581581

582582
..versionadded::2.3
583-
The `include() function`_ isa new Twig feature that's available in Symfony
584-
2.3. Prior, the`{% include %} tag`_ tag was used.
583+
The `include() function`_ isavailable since Symfony 2.3. Prior, the
584+
`{% include %} tag`_ was used.
585585

586586
..index::
587587
single: Templating; Embedding action
@@ -856,6 +856,24 @@ configuration:
856856

857857
..configuration-block::
858858

859+
..code-block::php-annotations
860+
861+
// src/AppBundle/Controller/WelcomeController.php
862+
// ...
863+
864+
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
865+
866+
class WelcomeController extends Controller
867+
{
868+
/**
869+
* @Route("/", name="_welcome")
870+
*/
871+
public function indexAction()
872+
{
873+
// ...
874+
}
875+
}
876+
859877
..code-block::yaml
860878
861879
# app/config/routing.yml
@@ -907,6 +925,24 @@ route:
907925

908926
..configuration-block::
909927

928+
..code-block::php-annotations
929+
930+
// src/AppBundle/Controller/ArticleController.php
931+
// ...
932+
933+
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
934+
935+
class ArticleController extends Controller
936+
{
937+
/**
938+
* @Route("/article/{slug}", name="article_show")
939+
*/
940+
public function showAction($slug)
941+
{
942+
// ...
943+
}
944+
}
945+
910946
..code-block::yaml
911947
912948
# app/config/routing.yml
@@ -981,10 +1017,14 @@ correctly:
9811017

9821018
..code-block::html+php
9831019

1020+
<?php
1021+
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
1022+
?>
1023+
9841024
<a href="<?php echo $view['router']->generate(
9851025
'_welcome',
9861026
array(),
987-
true
1027+
UrlGeneratorInterface::ABSOLUTE_URL
9881028
) ?>">Home</a>
9891029

9901030
..index::
@@ -1029,8 +1069,8 @@ configuration option.
10291069

10301070
.. _`book-templating-version-by-asset`:
10311071

1032-
If you need to set a version for a specific asset, you can set thefourth
1033-
argument(or the``version`` argument) to the desired version:
1072+
If you need to set a version for a specific asset, you can set the``version`` argument
1073+
if you are using Twig(or thefourth argument if you are using PHP) to the desired version:
10341074

10351075
..configuration-block::
10361076

@@ -1051,8 +1091,8 @@ If you don't give a version or pass ``null``, the default package version
10511091
(from:ref:`ref-framework-assets-version`) will be used. If you pass ``false``,
10521092
versioned URL will be deactivated for this asset.
10531093

1054-
If you need absolute URLs for assets, you can set thethird argument (or the
1055-
``absolute``argument) to ``true``:
1094+
If you need absolute URLs for assets, you can set the``absolute`` argument
1095+
if you are using Twig (or the thirdargument if you are using PHP) to ``true``:
10561096

10571097
..configuration-block::
10581098

‎components/dom_crawler.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Anonymous function can be used to filter with more complex criteria::
8787
$crawler = $crawler
8888
->filter('body > p')
8989
->reduce(function (Crawler $node, $i) {
90-
// filtereven nodes
90+
// filterevery other node
9191
return ($i % 2) == 0;
9292
});
9393

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp