PHP
ऑब्जेक्ट सीरियलाइजेशन
खोज…
वाक्य - विन्यास
- serialize ($ वस्तु)
- unserialize ($ वस्तु)
टिप्पणियों
संसाधनों को छोड़कर सभी PHP प्रकार क्रमबद्ध हैं। संसाधन एक अद्वितीय चर प्रकार है जो "बाहरी" स्रोतों को संदर्भित करता है, जैसे डेटाबेस कनेक्शन।
सीरियलाइज़ / अनसेरीलाइज़ करें
serialize()
PHP में संग्रहीत किए जा सकने वाले किसी भी मूल्य का बाइट-स्ट्रीम प्रतिनिधित्व युक्त एक स्ट्रिंग देता है। unserialize()
इस चर का उपयोग मूल चर मानों को फिर से बनाने के लिए कर सकता है।
किसी वस्तु को क्रमबद्ध करना
serialize($object);
किसी वस्तु को अनसुना करना
unserialize($object)
उदाहरण
$array = array();
$array["a"] = "Foo";
$array["b"] = "Bar";
$array["c"] = "Baz";
$array["d"] = "Wom";
$serializedArray = serialize($array);
echo $serializedArray; //output: a:4:{s:1:"a";s:3:"Foo";s:1:"b";s:3:"Bar";s:1:"c";s:3:"Baz";s:1:"d";s:3:"Wom";}
सीरियल इंटरफ़ेस
परिचय
इस इंटरफ़ेस को लागू करने वाली कक्षाएं अब
__sleep()
और__wakeup()
समर्थन नहीं करती हैं। जब भी किसी धारावाहिक को क्रमबद्ध करने की आवश्यकता होती है तो विधि को क्रमबद्ध कहा जाता है। यह__destruct()
लागू नहीं करता है या कोई अन्य दुष्प्रभाव नहीं है जब तक कि विधि के अंदर प्रोग्राम नहीं किया जाता है। जब डेटा हैunserialized
वर्ग में जाना जाता है और उचितunserialize()
के बजाय फोन करने के एक निर्माता के रूप में विधि कहा जाता है__construct()
। यदि आपको मानक निर्माता को निष्पादित करने की आवश्यकता है, तो आप विधि में ऐसा कर सकते हैं।
मूल उपयोग
class obj implements Serializable {
private $data;
public function __construct() {
$this->data = "My private data";
}
public function serialize() {
return serialize($this->data);
}
public function unserialize($data) {
$this->data = unserialize($data);
}
public function getData() {
return $this->data;
}
}
$obj = new obj;
$ser = serialize($obj);
var_dump($ser); // Output: string(38) "C:3:"obj":23:{s:15:"My private data";}"
$newobj = unserialize($ser);
var_dump($newobj->getData()); // Output: string(15) "My private data"