<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                示例:當嘗試以調用函數的方式調用一個**對象**時,該**方法**會被自動調用 ``` class invoke { public function __invoke($x) { var_dump($x); } } $obj = new invoke; $obj(10); /* 輸出: int 10 ``` 實例化對象本身是不能被調用,但是類中如果實現 __invoke() , 則把實例對象當作方法調用,會自動調用到 __invoke() 方法,參數順序相同 當嘗試以調用**函數**的方式調用一個**對象**時,__invoke() 方法會被自動調用。 **symfony 巧用** ``` class Test { static public function demo($a, $b) { echo $a + $b; } public function show($a, $b) { echo $a + $b; } public function __invoke(...$a){ var_dump($a); } } call_user_func_array(new Test(),[1,2]); // 走__invoke //其他使用 call_user_func_array([new Test(),'demo'],[1,2]); // 3 call_user_func_array('Test::demo', [1, 2]); // 3 call_user_func_array(['Test', 'demo'], [1, 2]); // 3 ``` ## **解釋call_user_func_array(new Test(),[1,2]);,為啥走__invoke** 在 PHP 中,當一個對象被作為函數調用時,會自動觸發該對象的`__invoke()`方法。`__invoke()`方法是一個魔術方法,用于將對象作為可調用實體使用。 在你的示例中,當你調用`call_user_func_array(new Test(), [1, 2])`時,`new Test()`創建了一個`Test`類的對象,并將其作為可調用對象傳遞給`call_user_func_array()`函數。由于該對象被作為函數調用,PHP 會自動查找并觸發該對象的`__invoke()`方法。 因此,`__invoke()`方法會被調用,并接收`[1, 2]`作為參數。在你的示例中,`__invoke()`方法使用`var_dump()`函數打印了參數數組`$a`的內容。 通過定義`__invoke()`方法,你可以使一個對象可以像函數一樣被調用。這在某些情況下可以提供更靈活的代碼結構和使用方式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看