我已经创建了一个具有安全功能的提供者。按照文档,我创建了自己的 ExpressionLanguage 类并注册了提供程序。
namespace AppBundle\ExpressionLanguage;
use Symfony\Component\ExpressionLanguage\ExpressionLanguage as BaseExpressionLanguage;
use Symfony\Component\ExpressionLanguage\ParserCache\ParserCacheInterface;
class ExpressionLanguage extends BaseExpressionLanguage
{
public function __construct(ParserCacheInterface $parser = null, array $providers = array())
{
// prepend the default provider to let users override it easily
array_unshift($providers, new AppExpressionLanguageProvider());
parent::__construct($parser, $providers);
}
}
Run Code Online (Sandbox Code Playgroud)
我使用的是相同的功能,lowercase那就是在doc。但是现在,我不知道如何注册要在我的 Symfony 项目中加载的 ExpressionLanguage 类。
每次尝试使用注释中的自定义函数加载页面时,我都会收到此错误:
位置 26 附近不存在函数“小写”。
我正在使用 Symfony 2.7.5。
我假设您想使用您的自定义函数安全表达式?在这种情况下,将您创建的表达式语言提供程序注册为服务并使用以下标记security.expression_language_provider:
services:
app.security_expression_language_provider:
class: AppBundle\ExpressionLanguage\AppExpressionLanguageProvider
tags:
- { name: security.expression_language_provider }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |