我需要使用我自己的几个方法扩展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
的所有方法。哪里错了?
答案 0 :(得分:0)
它工作正常,你必须做错其他事。
<?php
class Staff {
public function lol(){
die('lol');
}
}
class ComponentModelSites extends Staff{
public function saveSiteInfo($input){
$this->lol();
}
}
$cms = new ComponentModelSites();
$cms->saveSiteInfo(null);
答案 1 :(得分: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);
给出预期的结果。你必须包含错误的文件或做一些愚蠢的事情,但我无法从举例中说出来。