簡體   English   中英

如何擴展子類?

[英]How to extend subclass?

我需要用我自己的類和一些方法擴展 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所有方法。 我哪里錯了?

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

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);

你的代碼工作正常。

<?php

class Staff{

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


class ComponentModelSites extends Staff {

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

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

給出預期的結果。 您必須包含錯誤的文件或做一些愚蠢的事情,但我無法從示例中看出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM