Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kelas penutupan PHP

Kelas penutupan PHP

王林
王林ke hadapan
2023-08-19 11:01:17837semak imbas

Kelas penutupan PHP

Memperkenalkan

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.

Syntax

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
}

Kaedah

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.

Contoh Penutupan

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"),&#39;A&#39;);
echo $sayhello();
?>

Output

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam