Documentation

ConfigurableRequirementsInterface

ConfigurableRequirementsInterface must be implemented by URL generators that can be configured whether an exception should be generated when the parameters do not match the requirements. It is also possible to disable the requirements check for URL generation completely.

The possible configurations and use-cases:

  • setStrictRequirements(true): Throw an exception for mismatching requirements. This is mostly useful in development environment.
  • setStrictRequirements(false): Don't throw an exception but return an empty string as URL for mismatching requirements and log the problem. Useful when you cannot control all params because they come from third party libs but don't want to have a 404 in production environment. It should log the mismatch so one can review it.
  • setStrictRequirements(null): Return the URL with the given parameters without checking the requirements at all. When generating a URL you should either trust your params or you validated them beforehand because otherwise it would break your link anyway. So in production environment you should know that params always pass the requirements. Thus this option allows to disable the check on URL generation for performance reasons (saving a preg_match for each requirement every time a URL is generated).
Tags
author

Fabien Potencier fabien@symfony.com

author

Tobias Schultze http://tobion.de

Table of Contents

isStrictRequirements()  : bool|null
Returns whether to throw an exception on incorrect parameters.
setStrictRequirements()  : mixed
Enables or disables the exception on incorrect parameters.

Methods

isStrictRequirements()

Returns whether to throw an exception on incorrect parameters.

public isStrictRequirements() : bool|null

Null means the requirements check is deactivated completely.

Return values
bool|null

setStrictRequirements()

Enables or disables the exception on incorrect parameters.

public setStrictRequirements(bool|null $enabled) : mixed

Passing null will deactivate the requirements check completely.

Parameters
$enabled : bool|null
Return values
mixed

Search results