Joomla调用内部控制器函数


Joomla call internal controller function

如何在同一控制器文件中调用其他方法/函数?

例如:controller.php

class MyController extends JControllerLegacy
{
   function test() {
       $var = otherfunction();
       echo $var;
   }
   function othermethod() {
       return 'something';
   }
}

我在浏览器中遇到错误。致命错误:"调用未定义的函数othermethod()"。

我很乐意得到帮助。。。抱歉我的英语不好(;

要调用同一类中的方法,可以使用this。要调用函数,需要包含具有函数定义的文件。

class MyController extends JControllerLegacy
{
   function test() {
       //include_once file_has_otherfunction_definition.php
       //$var = otherfunction();
       $var = $this->othermethod();
       echo $var;
   }
   function othermethod() {
       return 'something';
   }
}

在平面php编程中,您可以仅通过函数名调用函数,如:

otherfunction();

但是,如果按比例分配面向对象(如插入的代码),则必须使用$this->functionName/来调用其他函数。所以test()函数必须变成这样:

function test() {
   $var = **$this->otherfunction();**
   echo $var;

}有关面向对象PHP的更多信息,请参阅此

您没有正确调用joomla控制器。

以下是语法:类component_nameControllerController_Name{}

例如:class virtualmartControllerport扩展Jcontroller{}这里virtualart是组件名称,cort是控制器。控制器指示这是控制器。