PhpStorm - 如何在文件模板中转义美元符号(php 变量)?
PhpStorm - How to escape dollar sign (php variable) in File Template?
我在编辑器 > 文件和代码模板:
下有一个 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 ;
}
}
但是当我 select 创建模板时 class,反斜杠保留:
文件输出:
<?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 ;
}
}
当我直接 select 模板而不是创建 class 时它可以工作,但是命名空间不会自动获取...
那么如何正确转义美元符号呢?这是一个已知错误吗?
根据 PhpStorm 帮助页面(下面的 link),如果您需要在文件模板中包含 $
(美元符号),最好的方法是使用预定义的 ${DS}
变量输出。
https://www.jetbrains.com/help/phpstorm/file-template-variables.html
我在编辑器 > 文件和代码模板:
下有一个 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 ;
}
}
但是当我 select 创建模板时 class,反斜杠保留:
文件输出:
<?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 ;
}
}
当我直接 select 模板而不是创建 class 时它可以工作,但是命名空间不会自动获取...
那么如何正确转义美元符号呢?这是一个已知错误吗?
根据 PhpStorm 帮助页面(下面的 link),如果您需要在文件模板中包含 $
(美元符号),最好的方法是使用预定义的 ${DS}
变量输出。
https://www.jetbrains.com/help/phpstorm/file-template-variables.html