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

标签 php phpstorm

我在 Editor > File and Code Templates 下有一个 PhpStorm Php 文件模板:

PhpStorm File Template

根据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 ;
    }
}

但是当我在创建类时选择模板时,反斜杠保持不变:

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 ;
    }
}

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

那么如何正确转义美元符号呢?这是一个已知的错误吗?

最佳答案

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

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

关于PhpStorm - 如何在文件模板中转义美元符号(php 变量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61087754/

相关文章:

php - Magento - 预览产品但需要登录才能购买

php - array_search 返回 NULL

PHP mysql 更快的方法来选择语句以便以后更新?

PHPStorm 缺少返回语句

PHPStorm 正在为 Symfony 项目中注释中使用的导入显示警告

PHPStorm 上的 NetBeans "Shift Left"模拟

ubuntu-14.04 - 双击 PhpStorm 选择带有破折号的文本

PhpStorm - 打印出类文件中的方法和变量

php - 为我的情况分页?

php - 使用 CronJob 将统计数据存储到 Mysql 还是每次运行一个函数来提取它?