Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
/*
4
 * This file is part of the Symfony package.
5
 *
6
 * (c) Fabien Potencier <fabien@symfony.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
 
12
namespace Symfony\Component\Routing\Generator;
13
 
14
/**
15
 * ConfigurableRequirementsInterface must be implemented by URL generators that
16
 * can be configured whether an exception should be generated when the parameters
17
 * do not match the requirements. It is also possible to disable the requirements
18
 * check for URL generation completely.
19
 *
20
 * The possible configurations and use-cases:
21
 * - setStrictRequirements(true): Throw an exception for mismatching requirements. This
22
 *   is mostly useful in development environment.
23
 * - setStrictRequirements(false): Don't throw an exception but return an empty string as URL for
24
 *   mismatching requirements and log the problem. Useful when you cannot control all
25
 *   params because they come from third party libs but don't want to have a 404 in
26
 *   production environment. It should log the mismatch so one can review it.
27
 * - setStrictRequirements(null): Return the URL with the given parameters without
28
 *   checking the requirements at all. When generating a URL you should either trust
29
 *   your params or you validated them beforehand because otherwise it would break your
30
 *   link anyway. So in production environment you should know that params always pass
31
 *   the requirements. Thus this option allows to disable the check on URL generation for
32
 *   performance reasons (saving a preg_match for each requirement every time a URL is
33
 *   generated).
34
 *
35
 * @author Fabien Potencier <fabien@symfony.com>
36
 * @author Tobias Schultze <http://tobion.de>
37
 */
38
interface ConfigurableRequirementsInterface
39
{
40
    /**
41
     * Enables or disables the exception on incorrect parameters.
42
     * Passing null will deactivate the requirements check completely.
43
     */
44
    public function setStrictRequirements(?bool $enabled);
45
 
46
    /**
47
     * Returns whether to throw an exception on incorrect parameters.
48
     * Null means the requirements check is deactivated completely.
49
     */
50
    public function isStrictRequirements(): ?bool;
51
}