PHP में, class और object की properties और methods को control करने के लिए Access Modifiers का इस्तेमाल किया जाता है। Access Modifiers यह तय करते हैं कि class के properties और methods को कहाँ से access किया जा सकता है।
दूसरे शब्दों में कहें तो, “PHP में Access Modifiers का इस्तेमाल object-oriented programming (OOP) में किया जाता है, जिससे हम यह सुनिश्चित कर सकते हैं कि किसी class की properties और methods को कौन access कर सकता है।”
PHP में तीन प्रकार के access modifiers होते हैं:
- Public
- Private
- Protected
1. Public
जब किसी class की property या method को public डिक्लेयर किया जाता है, तो उसे किसी भी object या class के बाहर से access किया जा सकता है।
इसका मतलब है कि यह property और method पूरी तरह से public होते हैं, और किसी भी object के द्वारा आसानी से access किए जा सकते हैं।
इसका उदाहरण:-
<?php
class Student {
public $name; // Public property
// Public method
public function displayName() {
echo "Name: " . $this->name;
}
}
$student = new Student();
$student->name = "Rahul"; // Accessing public property outside the class
$student->displayName(); // Accessing public method outside the class
// Output: Name: Rahul
?>
इस उदाहरण में, $name property और displayName() method दोनों public हैं, इसलिए इन्हें class के बाहर से भी access किया जा सकता है।
2. Private
अगर किसी property या method को private डिक्लेयर किया जाता है, तो इसे केवल उसी class के अंदर access किया जा सकता है।
इसका मतलब है कि class के बाहर से इस property या method को सीधे तौर पर एक्सेस नहीं किया जा सकता।
इसका उदाहरण:-
<?php
class Student {
private $name; // Private property
// Public method to set private property
public function setName($name) {
$this->name = $name;
}
// Public method to get private property
public function getName() {
return $this->name;
}
}
$student = new Student();
$student->setName("Rahul"); // Setting private property using a public method
echo "Name: " . $student->getName(); // Getting private property using a public method
// Output: Name: Rahul
?>
इस उदाहरण में, $name property private है, इसलिए इसे सीधे class के बाहर से access नहीं किया जा सकता। इसे access करने के लिए हमने public methods (setName() और getName()) का इस्तेमाल किया है।
3. Protected
जब कोई प्रॉपर्टी या मेथड protected होती है, तो वह class के अंदर और उस class के किसी भी subclass (inherited class) के अंदर एक्सेस की जा सकती है। हालांकि, इसे class के बाहर से सीधे एक्सेस नहीं किया जा सकता है।
इसका उदाहरण:-
<?php
class Student {
protected $name; // Protected property
// Protected method
protected function setName($name) {
$this->name = $name;
}
// Public method to access protected property
public function getName() {
return $this->name;
}
}
class CollegeStudent extends Student {
public function setStudentName($name) {
$this->setName($name); // Accessing protected method from child class
}
}
$collegeStudent = new CollegeStudent();
$collegeStudent->setStudentName("Rahul"); // Setting protected property using a public method in child class
echo "Name: " . $collegeStudent->getName(); // Getting protected property using a public method
// Output: Name: Rahul
?>
इस उदाहरण में, $name property और setName() method protected हैं, इसलिए इन्हें parent class और child class में access किया जा सकता है। इन्हें सीधे class के बाहर से access नहीं किया जा सकता।
Access Modifiers के फायदे
Access modifiers का इस्तेमाल करने से प्रोग्रामिंग में Encapsulation को बढ़ावा मिलता है। इससे:
- Data hiding: हम class के अंदर डेटा को सुरक्षित रख सकते हैं।
- Controlled access: आप यह नियंत्रित कर सकते हैं कि कौन सी जानकारी और कार्य बाहर से एक्सेस हो सकते हैं।
- Code maintainability: Code अधिक maintainable और flexible होता है क्योंकि आप आसानी से अपनी class की कार्यप्रणाली (functionality) को नियंत्रित कर सकते हैं।
इसे पढ़ें:–
निवेदन:- अगर आपको यह पोस्ट अच्छी लगी हो तो इसे अपने दोस्तों के साथ अवश्य share कीजिए। और अपने सवाल नीचे comment करके बताइए। धन्यवाद।