diff --git a/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php b/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php index d4c8f33e06491..0778ba78d4869 100644 --- a/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php +++ b/src/Symfony/Component/Security/Core/Authorization/ExpressionLanguage.php @@ -13,23 +13,27 @@ use Symfony\Component\ExpressionLanguage\ExpressionLanguage as BaseExpressionLanguage; -/** - * Adds some function to the default ExpressionLanguage. - * - * @author Fabien Potencier - * - * @see ExpressionLanguageProvider - */ -class ExpressionLanguage extends BaseExpressionLanguage -{ +if (!class_exists(BaseExpressionLanguage::class)) { + throw new \LogicException(sprintf('The "%s" class requires the "ExpressionLanguage" component. Try running "composer require symfony/expression-language".', ExpressionLanguage::class)); +} else { /** - * {@inheritdoc} + * Adds some function to the default ExpressionLanguage. + * + * @author Fabien Potencier + * + * @see ExpressionLanguageProvider */ - public function __construct($cache = null, array $providers = array()) + class ExpressionLanguage extends BaseExpressionLanguage { - // prepend the default provider to let users override it easily - array_unshift($providers, new ExpressionLanguageProvider()); + /** + * {@inheritdoc} + */ + public function __construct($cache = null, array $providers = array()) + { + // prepend the default provider to let users override it easily + array_unshift($providers, new ExpressionLanguageProvider()); - parent::__construct($cache, $providers); + parent::__construct($cache, $providers); + } } }