পরিচয়
বেনামী ফাংশন (যাকে ল্যাম্বডাও বলা হয়) ক্লোজার এর বস্তু ফেরত দেয় ক্লাস এই ক্লাসে কিছু অতিরিক্ত পদ্ধতি রয়েছে যা বেনামী ফাংশনগুলির উপর আরও নিয়ন্ত্রণ প্রদান করে৷
সিনট্যাক্স
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
} পদ্ধতি
ব্যক্তিগত বন্ধ::__নির্মাণ ( অকার্যকর ) — এই পদ্ধতিটি শুধুমাত্র ক্লোজার ক্লাসের ইন্সট্যান্টেশনকে অনুমোদন না দেওয়ার জন্য বিদ্যমান। এই শ্রেণীর অবজেক্ট বেনামী ফাংশন দ্বারা তৈরি করা হয়।
পাবলিক স্ট্যাটিক ক্লোজার::বাইন্ড ( ক্লোজার $closure , অবজেক্ট $newthis [, mixed $newscope ="static" ] ) − ক্লোজার — একটি নির্দিষ্ট আবদ্ধ অবজেক্ট এবং ক্লাস স্কোপের সাথে একটি বন্ধের নকল করে। এই পদ্ধতিটি Closure::bindTo().
এর একটি স্ট্যাটিক সংস্করণপাবলিক ক্লোজার::bindTo ( অবজেক্ট $newthis [, mixed $newscope ="static" ] ) − ক্লোজার — একটি নতুন আবদ্ধ অবজেক্ট এবং ক্লাস স্কোপের সাথে বন্ধের নকল করে। একই বডি এবং বাউন্ড ভেরিয়েবলের সাথে একটি নতুন বেনামী ফাংশন তৈরি করে এবং ফেরত দেয়, কিন্তু একটি ভিন্ন অবজেক্ট এবং একটি নতুন ক্লাস স্কোপ সহ৷
পাবলিক ক্লোজার::কল ( বস্তু $newthis [, mixed $... ] ) − মিশ্রিত — সাময়িকভাবে বন্ধ করাকে newthis-এর সাথে আবদ্ধ করে, এবং যেকোনো প্রদত্ত প্যারামিটারের সাথে এটিকে কল করে।
বন্ধের উদাহরণ
<?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")). "\n";;
// using bind method
$sayhello = $hello->bindTo(new A("Amar"),'A');
echo $sayhello();
?> আউটপুট
উপরের প্রোগ্রামটি নিম্নলিখিত আউটপুট দেখায়
Hello Amar Hello Amar