获取 PhpStorm Live Template 中的目录路径

Jac*_*tle 3 phpstorm

我正在尝试通过 PhpStorm 的模板系统(文件和代码模板)生成名称空间,但我看不到任何通过 PhpStorm 文档获取此名称空间的帮助器/方法。

我想知道是否有一种方法可以根据目录自动定义命名空间:

<?php
// I'm wanting to apply to $namespace
namespace $namespace;

class ${NAME} implements
    \Zend\Mail\Mailable
{
    /** \Zend\Mail\Factory */
    private $factory;
...

}#set( $factory = "factory" ) #set( $this- = "this-" ) #set( $directory = ?)
Run Code Online (Sandbox Code Playgroud)

如果我的目录/文件名是zend/mail/model/notice/send.php我希望生成一个命名空间,Zend\Mail\Model\Notice;我可以通过变量获取类名${NAME}

我知道我可以让模板在创建文件时通过对话框请求命名空间,但是我想知道是否可以自动执行此操作?

小智 6

如果你愿意,你可以使用groovyScript。

例如,您可以创建一个变量 $FOLDER_OF_FILE$ 并设置此 groovyScript 以获取文件的文件夹。

groovyScript("String[] p=_editor.getVirtualFile().getPath().split('/');String prevLast = p[p.length-2];")
Run Code Online (Sandbox Code Playgroud)

您可以根据您的需要更改和调整我的示例