首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Joomla2.5不能在助手文件中使用$this

Joomla2.5不能在助手文件中使用$this
EN

Stack Overflow用户
提问于 2012-11-20 11:31:50
回答 2查看 1.8K关注 0票数 3

我在Joomla2.5中创建了一个组件和一个插件,组件中有一个Helper文件,它将具有许多有用的函数,我计划调用它的一个函数,然后通过以下代码调用助手中的另一个函数:

代码语言:javascript
复制
$this->getinformation();

它给了我一个错误:

代码语言:javascript
复制
Fatal error: Call to undefined method

我的问题是:

  • 为什么我不能在Joomla的助手中调用一个函数?
  • 如何在helper类中调用函数?
  • 在这段代码中,我遗漏了什么类结构吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-21 08:28:54

辅助文件通常是静态调用的,而不使用$this。

首先,创建助手文件并添加如下方法:

代码语言:javascript
复制
Class myHelper {

    //This method can call other methods
    public static function myMethod($var) {

        //Call other method inside this class like this:
        self::myOtherMethod($var);

    }

    //This method is called by myMethod()
    public static function myOtherMethod($var) {

        //Put some code here

    }

}

只需将像这样的助手文件包含在要使用它的文档中:

代码语言:javascript
复制
require_once JPATH_COMPONENT.'/helpers/my_helper.php';

然后像这样使用它:

代码语言:javascript
复制
myHelper::myMethod($var);

代码语言:javascript
复制
myHelper::myOtherMethod($var);
票数 5
EN

Stack Overflow用户

发布于 2012-11-20 12:32:55

您必须包含帮助文件,并使用类名调用函数。

在插件或组件中添加以下行:

代码语言:javascript
复制
jimport( 'joomla.filesystem.folder' );
require_once JPATH_ROOT . '/components/com_xxxx/helper.php';

classname::functionname();

如果您正在处理相同的帮助文件,请按以下方式调用

代码语言:javascript
复制
classname::functionname();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13472274

复制
相关文章

相似问题

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