在PDT中,我可以做到
/* @var $this MyClass */
和eclipse将使用它来进行自动完成,建议等等......它在模板文件中很有用,它们被包含在模板引擎的类函数中。
Aptana Studio 3是否有同等效力?
我也试过
/** @var $this MyClass */
和
/** @var MyClass $this */
修改
我正在评估Aptana的使用,它比Eclipse + PDT有一些优势。所以,“使用另一个IDE”并不是一个真正的答案。
$this
不会由IDE自动解析为正确的类,因为它在类定义之外使用。
使用示例:
Template.class.php:
class Template {
public function render() {
include 'template.inc.php';
}
private function foo() {
echo 'bar!';
}
}
template.inc.php
<?php /*@var $this Template*/ ?>
<html>
<body>
<?php
/* I want that when I type "$this->" the IDE suggests me "foo()" */
$this->foo();
?>
</body>
</html>
答案 0 :(得分:1)
升级到3.0.7。它似乎在该版本中可用。
答案 1 :(得分:-2)
模板中的重点是保持逻辑和视图分离,你正在做的是添加带有视图的逻辑,这样你就不会真正做任何需要的事情了。
你想做类似的事情:
<html>
<body>
{TPL.MY_TPL_VAR}
</body>
</html>
然后在你的模板类中,你会有这样的东西:
$myTemplateVars = array('{TPL.MY_TPL_VAR}' => 'This is my content');
foreach($myTemplateVars as $key => $var){
$output = str_replace($key, $val, $key);
}
return $output;
第二件事就是$这是PHP中预先定义的“关键字”,它只能在一个类中使用,所以你想要通过这样的方式初始化一个新的类实例:
$objTpl = new Template();
$objTpl->yourFunc();
我希望这会有所帮助:)