首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aptana类型提示模板文件中的‘$this`’

Aptana类型提示模板文件中的‘$this`’
EN

Stack Overflow用户
提问于 2011-10-25 10:34:41
回答 2查看 695关注 0票数 2

在PDT我能做到

代码语言:javascript
复制
/* @var $this MyClass */

eclipse会用它来自动完成,建议等等.它在模板引擎包含到类函数中的模板文件中很有用。

Aptana 3有等效的吗?

我也试过

代码语言:javascript
复制
/** @var $this MyClass */

代码语言:javascript
复制
/** @var MyClass $this */

编辑

我正在评估Aptana的使用,它比Eclipse + PDT有一些优势。因此,“使用另一个IDE”并不是真正的答案。

$this 不自动将解析为正确的类,因为它在类定义之外使用。

示例用法:

  • Template.class.php:

类模板{公共函数呈现(){包括'template.inc.php';}私有函数foo() { echo 'bar!';} }

  • template.inc.php
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-25 12:22:25

升级到3.0.7。在该版本中似乎可以得到。

请参阅http://jira.appcelerator.org/browse/APSTUD-1714

票数 1
EN

Stack Overflow用户

发布于 2011-10-25 12:24:41

模板的全部要点是保持逻辑和视图的分离,您在那里所做的是在视图中添加逻辑,这样您就不会真正做任何需要做的事情。

你想做这样的事情:

代码语言:javascript
复制
<html>
<body>
{TPL.MY_TPL_VAR}
</body>
</html>

然后,在模板类中,您将得到如下内容:

代码语言:javascript
复制
$myTemplateVars = array('{TPL.MY_TPL_VAR}' => 'This is my content');

foreach($myTemplateVars as $key => $var){
    $output = str_replace($key, $val, $key);
}

return $output;

第二件事是,$this是PHP中的一个预定义的“关键字”,只能在类中使用,因此您需要通过这样的操作初始化类的新实例:

代码语言:javascript
复制
$objTpl = new Template();
$objTpl->yourFunc();

我希望这有帮助:)

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7887960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档