ভূমিকা
অ্যানোনিমাস ফাংশন (যাকে ল্যাম্বডা ও বলা হয়) Closure ক্লাসের অবজেক্ট রিটার্ন করে। এই ক্লাসে কিছু অডিশনাল মেথড রয়েছে যা অ্যানোনিমাস ফাংশনের উপর আরও কন্ট্রোল দেয়।
সিনট্যাক্স
Closure { 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 }মেথড
private Closure::__construct ( void ) — এই মেথড শুধু WeakReference ক্লাস ইনস্ট্যানশিয়েট করা ডিজ্যালো করার জন্য আছে। এই ক্লাসের অবজেক্ট অ্যানোনিমাস ফাংশন দিয়ে তৈরি হয়।
public static Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = "static" ] ) — Closure — একটি নির্দিষ্ট বাউন্ড অবজেক্ট এবং ক্লাস স্কোপ সহ একটি ক্লোজার ডুপ্লিকেট করুন। এই মেথড Closure::bindTo()-এর স্ট্যাটিক ভার্সন।
public Closure::bindTo ( object $newthis [, mixed $newscope = "static" ] ) — Closure — একটি নতুন বাউন্ড অবজেক্ট এবং ক্লাস স্কোপ সহ ক্লোজার ডুপ্লিকেট করুন। একই বডি এবং বাউন্ড ভেরিয়েবল বিশিষ্ট কিন্তু ভিন্ন অবজেক্ট এবং নতুন ক্লাস স্কোপ সহ একটি নতুন অ্যানোনিমাস ফাংশন তৈরি ও রিটার্ন করে।
public Closure::call ( object $newthis [, mixed $... ] ) — mixed — ক্লোজারটি sementara newthis-এ বাইন্ড করুন এবং যেকোনো দেয়া প্যারামিটারসহ কল করুন।
Closure উদাহরণ
<?php class A { public $nm; function __construct($x){ $this->nm = $x; } } // call মেথড ব্যবহার $hello = function() { return "Hello " . $this->nm; }; echo $hello->call(new A("Amar")) . "\n"; // bind মেথড ব্যবহার $sayhello = $hello->bindTo(new A("Amar"), 'A'); echo $sayhello(); ?>আউটপুট
উপরের প্রোগ্রাম নিচের আউটপুট দেখাবে—
Hello Amar Hello Amar