Templates NetBeans代码模板扩展;字符串操作
我试图在NetBeans(7.3)中使用PHP的特性,但是我发现它相当有限。给定以下期望输出:Templates NetBeans代码模板扩展;字符串操作,templates,netbeans-7,freemarker,Templates,Netbeans 7,Freemarker,我试图在NetBeans(7.3)中使用PHP的特性,但是我发现它相当有限。给定以下期望输出: public function addFoo(Foo $foo) { $this->fooCollection[] = $foo; } 我试图使“foo”/“foo”的每个实例都是可变的;所以我使用了一个变量: public function add${name}(${name} $$${name}) { $this->${name}Collection[] = $$$
public function addFoo(Foo $foo) {
$this->fooCollection[] = $foo;
}
我试图使“foo
”/“foo
”的每个实例都是可变的;所以我使用了一个变量:
public function add${name}(${name} $$${name}) {
$this->${name}Collection[] = $$${name};
}
当然,当扩展时,没有考虑到所需的资本化规则,因为我找不到实现这一点的方法;结果是(给定我用“Foo
”)填充${name}
:
现在,我已经了解到NetBeans在其模板中支持,但这似乎只适用于文件模板,而不是像这样的片段模板
就我所知,FreeMarker版本看起来像下面这样;但是,它不起作用,${name?capitalize}
只是被看作另一个变量名
public function add${name?capitalize}(${name?capitalize} $$${name}) {
$this->${name}Collection[] = $$${name};
}
传递“foo
”,允许大写字母对类型名、第二个单词等进行修正
这里有没有办法获得FreeMarker支持,或者有其他选择?
我真的愿意接受任何建议;包括第三方插件。我只是不想放弃NetBeans
附录 给出的例子微不足道;一个显而易见的解决方案是:
public function add${upperName}(${upperName} $$${lowerName}) {
$this->${lowerName}Collection[] = $$${lowerName};
}
其中上/下分别为“Foo
”/“Foo
”。然而,这只是一个例子,我正在寻找更强大的东西(比如FreeMarker支持)
public function add${upperName}(${upperName} $$${lowerName}) {
$this->${lowerName}Collection[] = $$${lowerName};
}