পরিচয়
পিএইচপি-তে ম্যাজিক পদ্ধতি হল বিশেষ পদ্ধতি যা নির্দিষ্ট কাজ সম্পাদনের লক্ষ্যে থাকে। এই পদ্ধতিগুলিকে উপসর্গ হিসাবে ডবল আন্ডারস্কোর (__) দিয়ে নামকরণ করা হয়েছে। এই সমস্ত ফাংশনের নাম সংরক্ষিত এবং সংশ্লিষ্ট জাদুকরী কার্যকারিতা ছাড়া অন্য কোনো উদ্দেশ্যে ব্যবহার করা যাবে না। একটি ক্লাসে জাদু পদ্ধতি সর্বজনীন ঘোষণা করা আবশ্যক। এই পদ্ধতিগুলি ইন্টারসেপ্টর হিসাবে কাজ করে যেগুলি নির্দিষ্ট শর্ত পূরণ হলে স্বয়ংক্রিয়ভাবে কল করা হয়৷
নিম্নলিখিত যাদু পদ্ধতি বর্তমানে PHP
এ উপলব্ধ__ঘুম
public __sleep ( void ) : array
ক্লাসে serialize() পদ্ধতিটি পরীক্ষা করে যে এটির একটি ফাংশনের নাম __sleep() আছে কিনা। যদি তাই হয়, যে ফাংশন কোনো সিরিয়ালাইজেশন আগে নির্বাহ করা হয়. এটি সেই বস্তুর সমস্ত ভেরিয়েবলের নাম সহ একটি অ্যারে ফেরত দেওয়ার কথা যা সিরিয়াল করা উচিত৷
__জাগরণ
public __wakeup ( void ) : void
unserialize() পদ্ধতি চেক করে যে ম্যাজিক নামের __wakeup() সহ একটি ফাংশন আছে। যদি উপস্থিত থাকে, তাহলে এই ফাংশনটি অবজেক্টের যেকোনও রিসোর্স পুনর্গঠন করতে পারে।
__সিরিয়ালাইজ করুন
public __serialize ( void ) : array
serialize() পদ্ধতি ক্লাসে __serialize() পদ্ধতি আছে কিনা তাও পরীক্ষা করে। যদি তাই হয়, এটি কোনো সিরিয়ালাইজেশনের আগে কার্যকর করা হয়। এটিকে অবশ্যই কী/মান জোড়ার একটি সহযোগী অ্যারে তৈরি করতে হবে এবং ফেরত দিতে হবে যা অবজেক্টের ক্রমিক রূপকে প্রতিনিধিত্ব করে।
__আনসিরিয়ালাইজ করুন
public __unserialize ( array $data ) : void
unserialize() __unserialize() উপস্থিত আছে কিনা তাও পরীক্ষা করে এবং এটি __serialize() থেকে ফিরে আসা পুনরুদ্ধার করা অ্যারে পাস করা হবে। এটি তারপর সেই অ্যারে থেকে অবজেক্টের বৈশিষ্ট্যগুলিকে যথাযথভাবে পুনরুদ্ধার করতে পারে
__toString
public __toString ( void ) : string
__toString() পদ্ধতি বস্তুর স্ট্রিং উপস্থাপনা বর্ণনা করে। উদাহরণস্বরূপ, কি প্রতিধ্বনি $obj; মুদ্রণ করবে। এই পদ্ধতিটি অবশ্যই একটি স্ট্রিং ফেরত দিতে হবে
__আমন্ত্রণ করুন
__invoke ([ $... ] ) : mixed
এই পদ্ধতিটি বলা হয় যখন একটি স্ক্রিপ্ট একটি বস্তুকে ফাংশন হিসাবে কল করার চেষ্টা করে।
__set_state
static __set_state ( array $properties ) : object
এই স্ট্যাটিক পদ্ধতিটি var_export() দ্বারা রপ্তানি করা ক্লাসের জন্য বলা হয়। এটি একটি প্যারামিটার গ্রহণ করে যা ফর্ম অ্যারে('property' => মান, ...) এ রপ্তানি করা বৈশিষ্ট্য ধারণকারী একটি অ্যারে।
__debugInfo
__debugInfo ( void ) : array
এই পদ্ধতিটি স্বয়ংক্রিয়ভাবে কল করা হয় যখন var_dump() একটি বস্তু ডাম্প করার জন্য কার্যকর করা হয় যা দেখানো উচিত বৈশিষ্ট্যগুলি পেতে। যদি এটি সংজ্ঞায়িত না করা হয়, তাহলে সমস্ত পাবলিক, সুরক্ষিত এবং ব্যক্তিগত সম্পত্তি দেখানো হবে৷
৷__সেট
public __set ( string $name , mixed $value ) : void
অ্যাক্সেসযোগ্য (সুরক্ষিত বা ব্যক্তিগত) বা বিদ্যমান নেই এমন বৈশিষ্ট্যগুলিতে ডেটা লেখার সময় __set() চালানো হয়৷
__পান
public __get ( string $name ) : mixed
__get() অ্যাক্সেসযোগ্য (সুরক্ষিত বা ব্যক্তিগত) বা বিদ্যমান নেই এমন বৈশিষ্ট্য থেকে ডেটা পড়ার জন্য ব্যবহার করা হয়৷
__isset
public __isset ( string $name ) : bool
__isset() isset() বা empty() কল করে দুর্গম (সুরক্ষিত বা ব্যক্তিগত) বা বিদ্যমান নেই এমন বৈশিষ্ট্যে ট্রিগার করা হয়।
__আনসেট
public __unset ( string $name ) : void
__unset() ব্যবহার করা হয় যখন unset() ব্যবহার করা হয় দুর্গম (সুরক্ষিত বা ব্যক্তিগত) বা বিদ্যমান নেই এমন বৈশিষ্ট্যে।