PHP 7 - ปิด :: โทร ()
Closure::call()วิธีการถูกเพิ่มเป็นวิธีชวเลขเพื่อผูกขอบเขตวัตถุกับการปิดชั่วคราวและเรียกใช้ ประสิทธิภาพเร็วกว่ามากเมื่อเทียบกับbindTo ของ PHP 5.6
ตัวอย่าง - ก่อน PHP 7
<?php
class A {
private $x = 1;
}
// Define a closure Pre PHP 7 code
$getValue = function() {
return $this->x;
};
// Bind a clousure
$value = $getValue->bindTo(new A, 'A');
print($value());
?>
สร้างผลลัพธ์ของเบราว์เซอร์ต่อไปนี้ -
1
ตัวอย่าง - PHP 7+
<?php
class A {
private $x = 1;
}
// PHP 7+ code, Define
$value = function() {
return $this->x;
};
print($value->call(new A));
?>
สร้างผลลัพธ์ของเบราว์เซอร์ต่อไปนี้ -
1