PhpStorm - 如何在文件模板中转义美元符号(PHP变量)?

6

我在 编辑器 > 文件和代码模板 下有一个 PhpStorm 的 PHP 文件模板:

PhpStorm File Template

根据Apache Velocity文档,要转义$符号需要使用反斜杠:
<?php

declare(strict_types=1);
#parse("PHP File Header.php")
#if (${NAMESPACE})
namespace ${NAMESPACE};
#end

use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\TransformationFailedException;

class ${NAME} implements DataTransformerInterface
{
    public function __construct()
    {}

    public function transform(\$value)
    {
        return ;
    }
}

但是当我在创建类时选择模板时,反斜杠会保留:

Use Template

文件输出:
<?php

declare(strict_types=1);
namespace SomeProject\SomeBundle\Form\DataTransformer;

use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\TransformationFailedException;

class TestTransformer implements DataTransformerInterface
{
    public function __construct()
    {}

    public function transform(\$value)
    {
        return ;
    }

    public function reverseTransform()
    {
        return ;
    }
}

当我直接选择模板而不创建类时,它可以工作,但命名空间不会自动获取...
那么,如何正确地转义美元符号?这是一个已知的错误吗?

2
这是一个已知的漏洞吗?这里没有漏洞。你只需要阅读文档:https://www.jetbrains.com/help/phpstorm/file-template-variables.html# 在需要插入美元符号时,最好使用 ${DS} - LazyOne
谢谢,我没有真正关注预定义变量... - goulashsoup
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接