您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何在php項目中使用 __call實現一個重載功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
具體如下:
<?php class MulStat { // showClass 可以接受0個參數 private function showClass() { echo "this is class ".__CLASS__; } // showString 可以接受一個參數 private function showString($str) { echo "string is ".$str; } // __call方法 可以獲取實例化對象調用的成員函數名和向該被調函數傳遞的參數個數 public function __call($name, $args) { // 先判斷要調用的函數名$name if($name == "showInfo"){ // 然后可以根據參數($args)數量判斷調用哪個成員函數 switch(count($args)) { // count可以計算數組元素個數 case 0: $this->showClass();break; case 1: $this->showString($args[0]);break; }// switch }// if } } //實例化MulStat類 $mulStat = new MulStat(); echo "\$mulStat->showInfo(\"funco 小風\"):\n"; $mulStat->showInfo("funco 小風"); // 兩次換行 便于觀察結果 echo "\n\n"; echo "\$mulStat->showInfo():\n"; $mulStat->showInfo();
運行結果:
$mulStat->showInfo("funco 小風"):
string is funco 小風$mulStat->showInfo():
this is class MulStat
關于如何在php項目中使用 __call實現一個重載功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。