我在 Editor > File and Code Templates 下有一个 PhpStorm Php 文件模板:
根据linked Apache Velocity Docs要转义美元符号,应使用反斜杠:
<?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 ;
}
}
但是当我在创建类时选择模板时,反斜杠保持不变:
文件输出:
<?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 ;
}
}
当我直接选择模板而不是创建类时它起作用,但是命名空间不会自动被采用......
那么如何正确转义美元符号呢?这是一个已知的错误吗?
最佳答案
根据 PhpStorm 帮助页面(下面的链接),最好的方法是使用预定义的 ${DS}
变量,如果你需要有 $
(美元符号)在文件模板输出中。
https://www.jetbrains.com/help/phpstorm/file-template-variables.html
关于PhpStorm - 如何在文件模板中转义美元符号(php 变量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61087754/