我正在尝试通过 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)
您可以根据您的需要更改和调整我的示例