亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這里的 $name 和$args 分別代表什么 真心不懂

public?function?__call($name,$args){
??????if($name=="speedDown")?{?
???????$this->speed?-=?10;??}
????}

這段話 ?誰能 從開頭 到結尾 的解釋下 ?別用程序的用詞 初學折很難理解 ,最好打一個比喻,謝謝了 ? $name 和 $aers ?不是函數的參數嗎 ?參數也沒見賦值

正在回答

3 回答

$name 表示的是形式參數,指的是類中不存在的方法名,看$name不爽,你可以換成$a,$b或者$c等等都可以。

$arguments表示的是一個可以 數的盡的(可枚舉的)數組的值。當然也可以替換成你喜歡的$xxx。

舉例來說:

class Haha{

????public function __call($a,$b){

????????echo "你好,你正在調用一個不存在方法".$a.",且數組值為:".implode ("",$b)."<br>";

????}

????public static function __callStatic($name,$arguments){

????echo "你好,你正在靜態環境下調用一個不存在的方法".$name.",且數組值為:".implode ("",$arguments).

????"<br />";

????}

}

$obj =new methodTest();//新建一個實例

$obj->runTest('PHP001');//訪問一個不存在的方法runTest

$obj::runTest('PHP002');//靜態下訪問一個不存在的方法runTest

輸出結果為:

你好,你正在調用一個不存在方法runTest,且數組值為:PHP001
你好,你正在靜態環境下調用一個不存在的方法runTest,且數組值為:PHP002

5 回復 有任何疑惑可以回復我~

$name就是這個不存在的方法的方法名,比如Car這個類調用speedDown()方法,但是Car類中沒有這個方法,于是就調用重載的方法__call()方法,那么第一個參數就是‘speedDown’.第二個參數更好理解了,它代表這個不存在的方法的參數,是個數組類型的參數,調用speedDown()中沒有參數,如果有的話那么就會存在$args中了。

6 回復 有任何疑惑可以回復我~

這是__call重載方法的連個形參,目的是用來接收調用該函數時傳如的參數.?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這里的 $name 和$args 分別代表什么 真心不懂

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號