সংজ্ঞা এবং ব্যবহার
কলব্যাক হল পিএইচপি-তে একটি ছদ্ম-টাইপ। PHP 5.4 এর সাথে, কলযোগ্য টাইপ ইঙ্গিত চালু করা হয়েছে, যা কলব্যাকের অনুরূপ। যখন কিছু বস্তুকে কলযোগ্য হিসাবে চিহ্নিত করা হয়, তখন এর অর্থ হল এটি একটি ফাংশন হিসাবে ব্যবহার করা যেতে পারে যা কল করা যেতে পারে। একটি কলযোগ্য একটি অন্তর্নির্মিত বা ব্যবহারকারী সংজ্ঞায়িত ফাংশন বা যেকোনো ক্লাসের মধ্যে একটি পদ্ধতি হতে পারে।
is_callable() ফাংশনটি সনাক্তকারী কলযোগ্য কিনা তা যাচাই করতে ব্যবহার করা যেতে পারে। PHP এর call_user_function() আছে যা একটি ফাংশনের নামকে প্যারামিটার হিসেবে গ্রহণ করে।
নিম্নলিখিত উদাহরণ দেখায় একটি অন্তর্নির্মিত ফাংশন একটি কলযোগ্য।
উদাহরণ
<?php var_dump (is_callable("abs")); ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
bool(true)
নিম্নলিখিত উদাহরণে একটি ব্যবহারকারী সংজ্ঞায়িত ফাংশন কলযোগ্য হওয়ার জন্য পরীক্ষা করা হয়।
উদাহরণ
<?php function myfunction(){ echo "Hello World"; } echo is_callable("myfunction") . "\n"; call_user_func("myfunction") ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
1 Hello World
একটি কলযোগ্য হিসাবে একটি বস্তুর পদ্ধতি পাস করতে, বস্তু নিজেই এবং এর পদ্ধতি একটি অ্যারের মধ্যে দুটি উপাদান হিসাবে পাস করা হয়
উদাহরণ
<?php class myclass{ function mymethod(){ echo "This is a callable" . "\n"; } } $obj=new myclass(); call_user_func(array($obj, "mymethod")); //array passed in literal form call_user_func([$obj, "mymethod"]); ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
This is a callable This is a callable
একটি ক্লাসে স্ট্যাটিক পদ্ধতিও কলযোগ্য হিসাবে পাস করা যেতে পারে। অবজেক্টের পরিবর্তে, ক্লাসের নাম অ্যারে প্যারামিটারে প্রথম উপাদান হওয়া উচিত
উদাহরণ
<?php class myclass{ static function mymethod(){ echo "This is a callable" . "\n"; } } $obj=new myclass(); call_user_func(array("myclass", "mymethod")); //using scope resolution operator call_user_func("myclass::mymethod"); ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
This is a callable This is a callable