Fungsi tanpa nama (juga dikenali sebagai lambdas) mengembalikan objek kelas Penutupan. Kelas ini mempunyai beberapa kaedah tambahan yang menyediakan kawalan lanjut ke atas fungsi tanpa nama.
Closure { /* Methods */ private __construct ( void ) public static bind ( Closure $closure , object $newthis [, mixed $newscope = "static" ] ) : Closure public bindTo ( object $newthis [, mixed $newscope = "static" ] ) : Closure public call ( object $newthis [, mixed $... ] ) : mixed public static fromCallable ( callable $callable ) : Closure }
Penutupan peribadi::__konstruk ( batal ) — Kaedah ini hanya digunakan untuk melumpuhkan instantiasi kelas Penutupan. Objek kelas ini dicipta oleh fungsi tanpa nama.
public static Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = "static" ] ) − Closure — Menyalin penutupan menggunakan objek mengikat dan skop kelas tertentu. Kaedah ini ialah versi statik Closure::bindTo().
Penutupan awam::bindTo ( object $newthis [, mixed $newscope = "static" ] ) − Closure — Menyalin penutupan menggunakan objek pengikat dan skop kelas baharu. Mencipta dan mengembalikan fungsi tanpa nama baharu dengan badan yang sama dan mengikat pembolehubah, tetapi dengan objek berbeza dan skop kelas baharu.
Penutupan awam::panggilan ( object $newthis [, mixed $... ] ) − mixed — Ikat sementara pada newthis dan panggil dengan sebarang hujah yang diberikan.
Demonstrasi Dalam Talian
<?php class A { public $nm; function __construct($x){ $this->nm=$x; } } // Using call method $hello = function() { return "Hello " . $this->nm; }; echo $hello->call(new A("Amar")). "";; // using bind method $sayhello = $hello->bindTo(new A("Amar"),'A'); echo $sayhello(); ?>
Program di atas memaparkan output berikut
Hello Amar Hello Amar
Atas ialah kandungan terperinci Kelas penutupan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!