我有一个锚标记:
a href={{ path('edit_teacher', { slug: teacher.id}) }}>Edit</a
给出如下网址:
localhost:9000 / edit-teacher / 1
在这里,我要加密参数“ 1”,因为我不希望用户看到老师的ID。因此,我提供了一项服务来对该ID进行加密。
服务:
namespace App\Service;
class EncryptGenerator
{
/**
* This function incrypts the data provided.
* @param: int/string.
*/
public function incryptData($data)
{
$incryptedData = convert_uuencode($data);
return $incryptedData;
}
/**
* This function decrypts the strings provided.
* @param: string.
*/
public function decryptedData($string)
{
$decryptedData = convert_uudecode($string);
return $decryptedData;
}
}
我还将此服务添加到了twig.yaml中的twig文件中。
twig:
default_path: '%kernel.project_dir%/templates'
debug: '%kernel.debug%'
strict_variables: '%kernel.debug%'
form_themes: ['bootstrap_4_layout.html.twig']
globals:
my_service: "@App\\Service\\EncryptGenerator"
最后, 我无法通过我的树枝文件调用此服务,以下是我要锚定标签的内容:
a href={{ path('edit_teacher',{ my_service.incryptData( slug: teacher.id }) }) }}>Edit
这给了我以下错误:
哈希键必须是带引号的字符串,数字,名称或用括号括起来的表达式(值“ {”的意外标记“标点”。**