Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed formatting issues #6011

Closed
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion book/controller.rst
Original file line number Diff line number Diff line change
Expand Up @@ -638,7 +638,7 @@ and then redirects. The message key (``notice`` in this example) can be anything
you'll use this key to retrieve the message.

In the template of the next page (or even better, in your base layout template),
read any flash messages from the session::
read any flash messages from the session:

.. configuration-block::

Expand Down
3 changes: 1 addition & 2 deletions cookbook/controller/service.rst
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,7 @@ controller:
in the :class:`Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface`.

:method:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller::getDoctrine` (service: ``doctrine``)

*Simply inject doctrine instead of fetching it from the container*
Simply inject doctrine instead of fetching it from the container.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we really not have italic text in a definition list?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we can maintain the italic text. I removed it because it looked wrong to me. I've just restored it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the issue actually was the blank line?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. That generated an ugly blockquote instead of the usual paragraph text.


:method:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller::getUser` (service: ``security.context``)
.. code-block:: php
Expand Down
4 changes: 2 additions & 2 deletions cookbook/security/custom_provider.rst
Original file line number Diff line number Diff line change
Expand Up @@ -324,9 +324,9 @@ options, the password may be encoded multiple times and encoded to base64.
before comparing it to your encoded password. If ``getSalt()`` returns
nothing, then the submitted password is simply encoded using the algorithm
you specify in ``security.yml``. If a salt *is* specified, then the following
value is created and *then* hashed via the algorithm:
value is created and *then* hashed via the algorithm::

``$password.'{'.$salt.'}';``
$password.'{'.$salt.'}'

If your external users have their passwords salted via a different method,
then you'll need to do a bit more work so that Symfony properly encodes
Expand Down
2 changes: 2 additions & 0 deletions cookbook/upgrade/_update_dep_errors.rst.inc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Dependency Errors
If you get a dependency error, it may simply mean that you need to upgrade
other Symfony dependencies too. In that case, try the following command:

.. code-block:: bash

$ composer update symfony/symfony --with-dependencies

This updates ``symfony/symfony`` and *all* packages that it depends on, which will
Expand Down
208 changes: 104 additions & 104 deletions reference/constraints/Callback.rst
Original file line number Diff line number Diff line change
Expand Up @@ -134,110 +134,110 @@ process. Each method can be one of the following formats:

1) **String method name**

If the name of a method is a simple string (e.g. ``isAuthorValid``),
that method will be called on the same object that's being validated
and the ``ExecutionContextInterface`` will be the only argument (see
the above example).
If the name of a method is a simple string (e.g. ``isAuthorValid``),
that method will be called on the same object that's being validated
and the ``ExecutionContextInterface`` will be the only argument (see
the above example).

2) **Static array callback**

Each method can also be specified as a standard array callback:

.. configuration-block::

.. code-block:: php-annotations

// src/AppBundle/Entity/Author.php
use Symfony\Component\Validator\Constraints as Assert;

/**
* @Assert\Callback(methods={
* { "AppBundle\MyStaticValidatorClass", "isAuthorValid" }
* })
*/
class Author
{
}

.. code-block:: yaml

# src/AppBundle/Resources/config/validation.yml
AppBundle\Entity\Author:
constraints:
- Callback:
methods:
- [AppBundle\MyStaticValidatorClass, isAuthorValid]

.. code-block:: xml

<!-- src/AppBundle/Resources/config/validation.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">

<class name="AppBundle\Entity\Author">
<constraint name="Callback">
<option name="methods">
<value>
<value>AppBundle\MyStaticValidatorClass</value>
<value>isAuthorValid</value>
</value>
</option>
</constraint>
</class>
</constraint-mapping>

.. code-block:: php

// src/AppBundle/Entity/Author.php

use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\Callback;

class Author
{
public $name;

public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addConstraint(new Callback(array(
'methods' => array(
array(
'AppBundle\MyStaticValidatorClass',
'isAuthorValid',
),
),
)));
}
}

In this case, the static method ``isAuthorValid`` will be called on
the ``AppBundle\MyStaticValidatorClass`` class. It's passed both
the original object being validated (e.g. ``Author``) as well as the
``ExecutionContextInterface``::

namespace AppBundle;

use Symfony\Component\Validator\ExecutionContextInterface;
use AppBundle\Entity\Author;

class MyStaticValidatorClass
{
public static function isAuthorValid(
Author $author,
ExecutionContextInterface $context
) {
// ...
}
}

.. tip::

If you specify your ``Callback`` constraint via PHP, then you also
have the option to make your callback either a PHP closure or a
non-static callback. It is *not* currently possible, however, to
specify a :term:`service` as a constraint. To validate using a service,
you should :doc:`create a custom validation constraint
</cookbook/validation/custom_constraint>` and add that new constraint
to your class.
Each method can also be specified as a standard array callback:

.. configuration-block::

.. code-block:: php-annotations

// src/AppBundle/Entity/Author.php
use Symfony\Component\Validator\Constraints as Assert;

/**
* @Assert\Callback(methods={
* { "AppBundle\MyStaticValidatorClass", "isAuthorValid" }
* })
*/
class Author
{
}

.. code-block:: yaml

# src/AppBundle/Resources/config/validation.yml
AppBundle\Entity\Author:
constraints:
- Callback:
methods:
- [AppBundle\MyStaticValidatorClass, isAuthorValid]

.. code-block:: xml

<!-- src/AppBundle/Resources/config/validation.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">

<class name="AppBundle\Entity\Author">
<constraint name="Callback">
<option name="methods">
<value>
<value>AppBundle\MyStaticValidatorClass</value>
<value>isAuthorValid</value>
</value>
</option>
</constraint>
</class>
</constraint-mapping>

.. code-block:: php

// src/AppBundle/Entity/Author.php

use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\Callback;

class Author
{
public $name;

public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addConstraint(new Callback(array(
'methods' => array(
array(
'AppBundle\MyStaticValidatorClass',
'isAuthorValid',
),
),
)));
}
}

In this case, the static method ``isAuthorValid`` will be called on
the ``AppBundle\MyStaticValidatorClass`` class. It's passed both
the original object being validated (e.g. ``Author``) as well as the
``ExecutionContextInterface``::

namespace AppBundle;

use Symfony\Component\Validator\ExecutionContextInterface;
use AppBundle\Entity\Author;

class MyStaticValidatorClass
{
public static function isAuthorValid(
Author $author,
ExecutionContextInterface $context
) {
// ...
}
}

.. tip::

If you specify your ``Callback`` constraint via PHP, then you also
have the option to make your callback either a PHP closure or a
non-static callback. It is *not* currently possible, however, to
specify a :term:`service` as a constraint. To validate using a service,
you should :doc:`create a custom validation constraint
</cookbook/validation/custom_constraint>` and add that new constraint
to your class.