如何在同一控制器文件中调用其他方法/函数?
例如: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是控制器。控制器指示这是控制器。