परिभाषा और उपयोग
PHP में, ऑब्जेक्ट (Object) एक कंपाउंड डेटा प्रकार है (सरणियों के साथ)। एक से अधिक प्रकार के मान एक ही वेरिएबल में एक साथ संग्रहीत किए जा सकते हैं। ऑब्जेक्ट या तो बिल्ट-इन या उपयोगकर्ता-परिभाषित क्लास का एक इंस्टेंस होता है। डेटा से जुड़ी कार्यक्षमता के अलावा, क्लास गुण (properties) को परिभाषित करता है।
प्राथमिक (स्केलर) वेरिएबल, सरणियाँ और अन्य ऑब्जेक्ट को कास्टिंग ऑपरेटर का उपयोग करके ऑब्जेक्ट डेटा प्रकार में बदला जा सकता है। PHP stdClass को एक जेनेरिक खाली क्लास के रूप में प्रदान करता है जो गुणों को गतिशील रूप से जोड़ने और कास्टिंग के लिए उपयोगी है।
सिंटैक्स
किसी क्लास का ऑब्जेक्ट घोषित करने के लिए हमें new स्टेटमेंट का उपयोग करना होगा:
class myclass { .. .. }
$obj = new myclass;
उदाहरण
उदाहरण 1: बुनियादी ऑब्जेक्ट निर्माण और विधि कॉल
<?php
class SayHello {
function hello() {
echo "Hello World";
}
}
$obj = new SayHello;
$obj->hello();
?>
आउटपुट
Hello World
उदाहरण 2: stdClass के साथ गतिशील गुण
stdClass का ऑब्जेक्ट शुरू में null होता है। हम गुणों को गतिशील रूप से जोड़ सकते हैं:
<?php $obj = new stdClass; $obj->name = "Deepak"; $obj->age = 21; $obj->marks = 75; print_r($obj); ?>
आउटपुट
stdClass Object(
[name] => Deepak
[age] => 21
[marks] => 75
)
उदाहरण 3: सरणी को ऑब्जेक्ट में कास्ट करना
<?php
$arr = array("name" => "Deepak", "age" => 21, "marks" => 75);
$obj = (object)$arr;
print_r($obj);
?>
आउटपुट
stdClass Object(
[name] => Deepak
[age] => 21
[marks] => 75
)
उदाहरण 4: ऑब्जेक्ट को सरणी में कास्ट करना
<?php $obj = new stdClass; $obj->name = "Deepak"; $obj->age = 21; $obj->marks = 75; $arr = (array)$obj; print_r($arr); ?>
आउटपुट
Array(
[name] => Deepak
[age] => 21
[marks] => 75
)
उदाहरण 5: स्केलर मान को ऑब्जेक्ट में कास्ट करना
किसी भी स्केलर प्रकार के वेरिएबल को टाइप कास्टिंग द्वारा ऑब्जेक्ट में बदला जा सकता है। स्केलर वेरिएबल का मान ऑब्जेक्ट के scalar गुण का मान बन जाता है।
<?php $name = "Deepak"; $age = 21; $percent = 75.50; $obj1 = (object)$name; print_r($obj1); $obj2 = (object)$age; print_r($obj2); $obj3 = (object)$percent; print_r($obj3); ?>
आउटपुट
stdClass Object(
[scalar] => Deepak
)
stdClass Object(
[scalar] => 21
)
stdClass Object(
[scalar] => 75.5
)