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

gou*_*oup 7 php phpstorm

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

PhpStorm 文件模板

根据链接的 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 ;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我在创建类时选择模板时,反斜杠仍然存在:

使用模板

文件输出:

<?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 ;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我直接选择模板而不创建类时它会起作用,但命名空间不会自动获取...

那么我如何正确地逃避美元符号呢?这是一个已知的错误吗?

Laz*_*One 3

根据 PhpStorm 帮助页面(下面的链接),${DS}如果您需要$在文件模板输出中包含(美元符号),最好的方法是使用预定义变量。

https://www.jetbrains.com/help/phpstorm/file-template-variables.html