360 of 410 menu

__set_state পদ্ধতি

__set_state পদ্ধতিটি স্ট্যাটিক এবং একটি অবজেক্টে var_export ফাংশন ব্যবহার করার সময় স্বয়ংক্রিয়ভাবে কল হয়। এটিকে পুনরুদ্ধারকৃত বৈশিষ্ট্যসহ ক্লাসের একটি নতুন উদাহরণ ফেরত দিতে হবে। এই পদ্ধতিটি অবজেক্ট সিরিয়ালাইজেশন এবং ডিসিরিয়ালাইজেশনের জন্য দরকারী।

বাক্য গঠন

public static function __set_state(array $properties): object

উদাহরণ

আসুন একটি ক্লাস তৈরি করি এবং এতে __set_state পদ্ধতি বাস্তবায়ন করি:

<?php class MyClass { public $prop1; public $prop2; public function __construct($val1, $val2) { $this->prop1 = $val1; $this->prop2 = $val2; } public static function __set_state($array) { return new self($array['prop1'], $array['prop2']); } } $obj = new MyClass('a', 'b'); $exported = var_export($obj, true); eval('$newObj = ' . $exported . ';'); var_dump($newObj); ?>

কোড 실행ের ফলাফল:

object(MyClass)#2 (2) { ["prop1"]=> string(1) "a" ["prop2"]=> string(1) "b" }

উদাহরণ

প্রাইভেট বৈশিষ্ট্যের সাথে __set_state এর ব্যবহার:

<?php class PrivateClass { private $secret; public function __construct($value) { $this->secret = $value; } public static function __set_state($array) { $obj = new self($array['secret']); return $obj; } } $privateObj = new PrivateClass('12345'); $exported = var_export($privateObj, true); eval('$newPrivateObj = ' . $exported . ';'); var_dump($newPrivateObj); ?>

কোড 실행ের ফলাফল:

object(PrivateClass)#2 (1) { ["secret":"PrivateClass":private]=> string(5) "12345" }

আরও দেখুন

  • var_export ফাংশন,
    যা একটি ভেরিয়েবলকে স্ট্রিং হিসেবে রপ্তানি করে
  • __sleep পদ্ধতি,
    যা অবজেক্ট সিরিয়ালাইজেশনের আগে কল হয়
  • __wakeup পদ্ধতি,
    যা অবজেক্ট ডিসিরিয়ালাইজেশনের সময় কল হয়
বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন