文章出處

首先放上代碼:

 1 <?php
 2 class MagicTest{
 3     //__tostring會在把對象轉換為string的時候自動調用
 4     public function __tostring() {
 5         return "This is the class MagicTest";
 6     }
 7     //__invoke會在把對象當作一個方法調用的時候自動調用
 8     public function __invoke($x) {
 9         echo "__invoke called with parameter".$x."<br/>";
10     }
11 }
12 
13 $obj = new MagicTest();
14 echo $obj."<br/>";
15 $obj(5);

輸出為:

This is the class MagicTest
__invoke called with parameter5

可以看到調用$obj的時候,自動調用 __tostring() 里面的字符,這時,如果你把tostring前面的雙下劃線減成一條,則會出現錯誤

同樣在調用 $obj(5) 的時候,會自動調用 __invoke 方法


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()