如何在Netbeans 7.0中自动向新的PHP类添加命名空间


How can i automatically add a namespace to new PHP Class in Netbeans 7.0

我可以通过"Tools">"template Manager",然后通过"PHP class">"edit"编辑PHP class模板。我的项目框架支持使用名称空间自动加载,所以每当我创建新的"PHP类"时,我都想自动在文件顶部添加一个名称空间。我该怎么做?

作为一个方面,我如何才能发现模板中有哪些变量可用?

更新:太快了!我承认这里的测试非常粗糙,但如果您通过UI使用New -> PHP Class...,它就可以工作。然后在下拉列表中选择名称空间。等等。我使用的是New -> PHP File...,它不提供名称空间下拉列表(奇怪的是,或者可能我错过了什么)。根据需要自定义PHP类模板。已排序。


我也一直在为此挠头,发现了以下错误报告。根据说明(底部),编辑模板文件并添加:

<#if namespace?? && namespace?length &gt; 0>
namespace ${namespace};
</#if>

然后Netbeans根据文件位置和目录中其他可能的名称空间进行猜测。不过,老实说,我已经成功地让它发挥了作用,但我相信我离……可能……不远了。。。uu

如果我这样做的话,我一定会更新这个。


旁注:您可以将任何想要的变量添加到模板中。转到(在windows上)'AppData'Roaming'NetBeans'7.4[your version here]'config'Templates'Properties'User.properties(如果缺少,则创建它)

然后创建这样的东西:

user=Ms Angelina Jolie Lookalike Honest <no.spam.thanks@gmail.com>
organization=the.Evolution.of.Awesome
package=SunshineInACan
package2=Framework/UserInterface

然后在你的模板中做这样的事情:

/**
 * @DNADO   Type description
 *
 * @package     ${package}.${package2}
 * @subpackage
 * @category
 * @author      ${user}
 *
 * @copyright   ${date?date?string("yyyy")} ${organization}
 */

然后。。。迪斯科;)

为了节省一点时间,我还将常用选项放在一个变量中,并在创建文件后删除适用的。例如,${package2}"Framework"或"UserInterface",而不是两者都是(或者两者都是,如果我忘了,你知道它是怎么回事)。

我记得编辑默认类模板时遇到了一些问题,最后我根据自己的需要创建了新的类模板。您可以通过选择现有的类文件并从上下文菜单中运行"另存为模板"来完成此操作

关于可用变量:

Variable Name  Description
 name           contains the name of the file that is being created
 user           contains the user name
 nameAndExt     contains the name and extension of the file that is being created
 date           contains text representing the current day like 23. 3. 2007
 time           contains text the current time like 17:18:30
 encoding       the file encoding of the template instance

有用的参考资料:

http://blogs.oracle.com/netbeansphp/entry/how_to_manage_templates_in

http://blogs.oracle.com/netbeansphp/entry/how_to_manage_templates_in1

命名空间include.class您可以使用与include相同的类,并且需要的功能