परिचय
क्लास के अंदर घोषित डेटा सदस्यों को प्रॉपर्टीज कहा जाता है। प्रॉपर्टी को कभी-कभी एट्रिब्यूट या फील्ड भी कहा जाता है। PHP में, एक प्रॉपर्टी एक्सेस स्पेसिफायर कीवर्ड्स में से एक द्वारा योग्य होती है: public, private या protected। प्रॉपर्टी का नाम PHP में किसी भी वैध लेबल हो सकता है। प्रॉपर्टी का मान क्लास के प्रत्येक इंस्टेंस के लिए अलग हो सकता है। इसलिए इसे कभी-कभी इंस्टेंस वेरिएबल भी कहा जाता है।
किसी भी इंस्टेंस मेथड के अंदर, प्रॉपर्टी को ऑब्जेक्ट के संदर्भ द्वारा एक्सेस किया जा सकता है जो स्यूडो-वेरिएबल $this के रूप में उपलब्ध है। यदि कोई प्रॉपर्टी पब्लिक घोषित की गई है, तो यह -> ऑपरेटर की सहायता से ऑब्जेक्ट के लिए उपलब्ध है। यदि कोई प्रॉपर्टी static कीवर्ड के साथ परिभाषित है, तो इसका मान क्लास के सभी ऑब्जेक्ट्स के बीच साझा किया जाता है और क्लास के नाम के साथ स्कोप रिज़ॉल्यूशन ऑपरेटर (::) का उपयोग करके एक्सेस किया जाता है।
प्रॉपर्टी घोषणा और पहुंच
उदाहरण 1: प्रॉपर्टी परिभाषा और पहुंच
<?php
class myclass {
private $fname = "Kiran";
public $mname = "Pratap";
static $lname = "Singh";
function dispdata() {
echo "$this->fname\n";
echo "$this->mname\n";
echo myclass::$lname;
}
}
$obj = new myclass();
$obj->dispdata();
?>
आउटपुट
Kiran Pratap Singh
क्लास के बाहर, पब्लिक घोषित इंस्टेंस प्रॉपर्टीज ऑब्जेक्ट के लिए उपलब्ध हैं, लेकिन प्राइवेट प्रॉपर्टीज पहुंच योग्य नहीं हैं। PHP के पिछले संस्करणों में, प्रॉपर्टी घोषणा के लिए var कीवर्ड उपलब्ध था। हालांकि यह अब डिप्रिकेटेड हो गया है, यह बैकवर्ड कम्पैटिबिलिटी के लिए अभी भी उपलब्ध है और इसे प्रॉपर्टी की पब्लिक घोषणा माना जाता है।
PHP 7.4 में प्रॉपर्टी टाइप डिक्लेरेशन
PHP 7.4 प्रॉपर्टी वेरिएबल्स के टाइप डिक्लेरेशन का परिचय देता है।
उदाहरण 2: टाइप डिक्लेरेशन के साथ प्रॉपर्टीज़
<?php
class myclass {
private string $name;
private int $age;
function setdata(string $x, int $y) {
$this->name = $x;
$this->age = $y;
}
}
$obj = new myclass();
$obj->setdata("Kiran", 20);
?>