課程
/后端開發
/PHP
/PHP進階篇
__call($name,$args)這兩個參數分別代表什么?
2017-04-20
源自:PHP進階篇 2-9
正在回答
是的,當然這個魔術方法是在調用本類沒有的方法才會運行;
慕的地4125150 提問者
class Car3 {
? ? public $speed = 100;
//$name調用本類沒有的方法,$args是該方法帶的參數轉換的數組,function?__call(string?$function_name,?array?$arguments)
? ??public function __call($name, $args) { ? ?
? ? ? ? if ($name == 'speedUp') {
echo $name;
print_r($args); ? ?//用這個就可以看到效果了
? ? ? ? ? ? $this->speed += 10;
? ? ? ? }
? ? }
}
$car = new Car3();
$car->speedUp(2,3); //調用不存在的方法會使用重載
echo $car->speed;
$name :就是你調用的函數名
?public function __call($name,$args){
? ? ? ? echo $name; // 數出來的就是 speedDown
? ? ? ? ?echo '<br/>';
? ? ? ? //echo $args;
? ? ? ? if($name=='speedDown'){
? ? ? ? ? ? ?$this->speed -= 10;
$args : 別人在調用call函數傳遞進來的參數數組。
舉報
輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序
3 回答public function __call($name, $args)這里的$args是什么?
2 回答請問 【public function __call($name,$args)】中$name ,$args 在屬性上有什么區別?
3 回答這里的 $name 和$args 分別代表什么 真心不懂
4 回答求答復__call($name, $args) 中的 $args 是干嘛使得
2 回答魔術方法 __call 為什么需要兩個形參?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-04-20
是的,當然這個魔術方法是在調用本類沒有的方法才會運行;
2017-04-22
class Car3 {
? ? public $speed = 100;
//$name調用本類沒有的方法,$args是該方法帶的參數轉換的數組,function?__call(string?$function_name,?array?$arguments)
? ??public function __call($name, $args) { ? ?
? ? ? ? if ($name == 'speedUp') {
echo $name;
print_r($args); ? ?//用這個就可以看到效果了
? ? ? ? ? ? $this->speed += 10;
? ? ? ? }
? ? }
}
$car = new Car3();
$car->speedUp(2,3); //調用不存在的方法會使用重載
echo $car->speed;
2017-04-20
$name :就是你調用的函數名
?public function __call($name,$args){
? ? ? ? echo $name; // 數出來的就是 speedDown
? ? ? ? ?echo '<br/>';
? ? ? ? //echo $args;
? ? ? ? if($name=='speedDown'){
? ? ? ? ? ? ?$this->speed -= 10;
? ? ? ? }
? ? }
$args : 別人在調用call函數傳遞進來的參數數組。