-1

我需要用我自己的类和一些方法来扩展 Joomla 中的所有模型,所以我再创建一个类

class Staff extends JModelLegacy{

    public function lol(){
        die('lol');
    }
}

并用它扩展模型

require JPATH_BASE.'/components/com_component/misc/extend_model.php'; 

class ComponentModelSites extends Staff{
public function saveSiteInfo($input){
        $this->lol();
}

问题是,当我打电话时,saveSiteInfo我得到了该方法lol未找到的致命错误,但var_dump(get_class_methods($this));显示了JModelLegacy. 我哪里错了?

4

2 回答 2

0

它工作正常,你一定做错了什么[其他]。

http://ideone.com/tDouwQ

<?php
class Staff {

    public function lol(){
        die('lol');
    }
}

class ComponentModelSites extends Staff{
public function saveSiteInfo($input){
        $this->lol();
}
}
$cms = new ComponentModelSites();
$cms->saveSiteInfo(null);
于 2012-11-28T16:37:17.560 回答
0

您的代码工作正常。

<?php

class Staff{

    public function lol(){
        die('lol');
    }
}


class ComponentModelSites extends Staff {

        public function saveSiteInfo($input){
                $this->lol();
        }
}

$obj = new ComponentModelSites();
$obj->saveSiteInfo(1);

给出预期的结果。您必须包含错误的文件或做一些愚蠢的事情,但我无法从给出的示例中看出。

于 2012-11-28T16:37:19.297 回答