函式名稱:Closure::__construct()
適用版本:需要PHP版本5.3.0及以上
函式描述:Closure類的建構函式是一個匿名函式的建立器,用於建立一個閉包例項。
用法:
$closure = new Closure($thisArg, $signature);
引數:
- $thisArg(可選):一個可選的閉包中的$this物件,用於在閉包中訪問該物件的屬性和方法。
- $signature(可選):一個用於指定閉包的引數個數和型別的字串。可以是不限定引數的簽名('mixed(...)'),也可以是指定引數型別的簽名('int($a, string $b)')。
返回值:一個新建立的閉包例項。
示例1:
$closure = new Closure();
$sum = $closure->__invoke(2, 3);
echo $sum; // Output: 5
示例2:
$closure = new Closure(null, 'int($a, string $b)');
$concat = $closure->__invoke(2, 'hello');
echo $concat; // Output: 2hello
在示例1中,我們建立了一個沒有$this物件和引數約束的閉包例項,並透過__invoke()方法呼叫了該閉包,計算了傳入的兩個引數的和。
在示例2中,我們建立了一個沒有$this物件的閉包例項,並指定了引數型別為整數和字串。然後,透過__invoke()方法呼叫了該閉包,將兩個引數拼接在一起並輸出。