Visibility public, private, protected In Hindi
पीएचपी प्रोग्राम में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) कांसेप्ट में क्लास डाटा टाइप विज़िबिलिटी, क्लास प्रॉपर्टीज़, और क्लास मेथड्स में डिक्लेअर मल्टीप्ल क्लास पैरामीटर डाटा टाइप बिहैवियर को कंट्रोल और मैनेज करने में होता है। यहाँ प्रोग्रामर यह डिफाइन करता है कि किसी क्लास प्रॉपर्टी या क्लास मेथड को कहाँ से पब्लिक, प्राइवेट और प्रोटेक्टेड आर्डर में क्लास में एक्सेस और कंट्रोल्ड किया जा सकता है।

In PHP programming, there are three main types of user-defined class visibility.
- public class parameters.
- private class parameters.
- protected class parameters.
यहाँ प्रोग्रामर अपनी प्रोग्रामिंग जरूरतों के अनुसार क्लास डाटा टाइप वेरिएबल पैरामीटर को कीवर्ड के साथ डिक्लेअर कर सकते हैं, कि यूजर डिफाइन क्लास में क्लास डाटा टाइप पैरामीटर को किसी प्रॉपर्टी या क्लास मेथड को क्लास में इंटरनल या एक्सटर्नल आर्डर में एक्सेस या सबक्लास आर्डर में इनहेरिटेंस फॉर्मेट में (व्युत्पन्न क्लास) के रूप में जरूरत के अनुसार एक्सेस और कण्ट्रोल किया जा सकता है।
So, let’s learn more about the public, private, or protected class keywords in PHP programming.
public class keyword.
यूजर डिफाइन क्लास प्रोग्राम में पब्लिक कीवर्ड पैरामीटर आर्डर में डिक्लेअर प्रॉपर्टीज़ और क्लास मेथड्स को पुरे क्लास में कहीं से भी एक्सेस और कण्ट्रोल किया जा सकता हैं। यहाँ प्रोग्रामर पब्लिक डिक्लेअर क्लास एलिमेंट को क्लास में इंटरनल और एक्सटर्नल आर्डर में दोनों जगह से एक्सेस और कण्ट्रोल कर सकता है।
यदि प्रोग्रामर किसी यूजर डिक्लेअर क्लास प्रोग्राम में चाहते हैं कि किसी यूजर डिफाइन क्लास प्रॉपर्टी या मेथड को अन्य एक्सिस्टिंग क्लास या एक्सटर्नल इनहेरिट क्लास कोड के द्वारा डायरेक्ट एक्सेस और कण्ट्रोल किया जा सके, तो आप उसे पब्लिक पैरामीटर के साथ यूज़ या डिक्लेअर करें।
Public Visibility example in a class.
<?php
class employee {
// here Public class property declares
public $emp_name;
// here Public class method declares
public function emp_info($emp_name) {
$this->emp_name = $emp_name;
}
public function display_info() {
echo “Employee Info – ” . $this->emp_name . “\n”;
}
}
// here we Create an object of the employee class
$employee1 = new employee();
// here we Accessing public property directly
$employee1->emp_name = “Siddhi”;
echo $employee1->emp_name . “\n”; //Result – Siddhi
// Calling a public method
$employee1->emp_info(“Engineer”);
$employee1->display_info(); // Result – Engineer
?>
Explanation of the Public Visibility class.
- यहाँ इस प्रोग्राम में $emp_name क्लास प्रॉपर्टी और emp_info() तथा display_info() क्लास मेथड पब्लिक डिक्लेअर मेथड हैं, इसका मतलब है कि इन क्लास मेथड और पैरामीटर को क्लास में एक्सटर्नाली डायरेक्ट एक्सेस किया जा सकता है।
Private class keyword.
पीएचपी प्रोग्राम में यूजर डिफाइन क्लास में प्राइवेट कीवर्ड आर्डर में डिक्लेअर क्लास पैरामीटर प्रॉपर्टी और क्लास मेथड्स एलिमेंट वेरिएबल मेथड को केवल डिक्लेअर उसी क्लास के अंदर से एक्सेस और कण्ट्रोल करने में किया जा सकता है, जहाँ उन्हें किसी पर्टिकुलर क्लास में डिफाइन किया गया है। याद रहे, प्राइवेट क्लास कीवर्ड के साथ क्लास में डिक्लेअर किसी क्लास पैरामीटर ऑब्जेक्ट को एक्सटर्नाली या किसी इनहेरिट या सबक्लास में डायरेक्ट एक्सेस नहीं किया जा सकता है।
जब प्रोग्रामर यूजर डिफाइन क्लास के अंदर क्लास डेटा में एनकैप्सुलेट कांसेप्ट को यूज़ करना चाहते हैं, और क्लास में किसी एक्सटर्नल प्रोग्राम कोड को डायरेक्ट उस क्लास पैरामीटर तक एक्सेस करने या उसे मॉडिफाई करने से रोकना चाहते हैं. तो आप जरूरत के अनुसार प्राइवेट क्लास कीवर्ड को यूज़ करें।
Example of private class visibility.
<?php
class employee {
// here Private class property method declares
private $emp_name;
// here Public class method to set private class property
public function emp_detail($emp_name) {
$this->emp_name = $emp_name;
}
// here Public class method to access private property
public function emp_info() {
return $this->emp_name;
}
}
// here we Create an object of the employee class
$employee1 = new employee();
// here we try to Attempt access private class property directly will produce as error
// echo $employee1->emp_name; // Display Error – we unable to Cannot access private property
// here we Access private class property via public class methods
$employee1->emp_detail(“Siddhi Deora”);
echo $employee1->emp_info(); // Result – Siddhi Deora
?>
Explanation of private class visibility.
- यहाँ इस प्रोग्राम में $emp_name क्लास में डिक्लेअर पैरामीटर प्रॉपर्टी प्राइवेट नेचर की है, इसलिए इसे क्लास में एक्सटरनली डायरेक्ट एक्सेस नहीं किया जा सकता है।
- क्लास में डिक्लेअर प्राइवेट प्रॉपर्टी वैल्यू को डिफाइन करने या प्राप्त करने के लिए, हम पब्लिक क्लास मेथड में emp_detail() और emp_info() फंक्शन मेथड को यूज़ करते हैं।
Protected class keyword.
पीएचपी प्रोग्राम में यूजर डिक्लेअर प्रोटेक्टेड क्लास प्रॉपर्टीज और क्लास मेथड्स को उसी क्लास के अंदर और उसे इनहेरिटेंस आर्डर में डिक्लेअर क्लास (इसका मतलब, क्लास के अंदर का क्लास) के माध्यम से एक्सेस किया जा सकता है। याद रहे, आप क्लास में एक्सटरनली डिक्लेअर क्लास पैरामीटर को डायरेक्ट प्रोटेक्टेड क्लास मेंबर को एक्सेस नहीं कर सकते है।
जब प्रोग्रामर किसी सबक्लास प्रॉपर्टीज या क्लास मेथड को एक्सेस करने या उसे मॉडिफाई करने की परमिशन प्रोवाइड करना चाहते हैं, परन्तु आप इसे एक्सटर्नल प्रोग्राम कोड से हिडन रखना चाहते हैं. तो उस क्लास में प्रोटेक्टेड क्लास मेथड को यूज़ कर सकते है।
Example of protected class visibility.
<?php
class employee {
// here Protected class property declares
protected $emp_name;
// here Public class method to set the protected property method
public function emp_detail($emp_name) {
$this->emp_name = $emp_name;
}
}
// here we Create a subclass (inherits from employee class)
class emp_department extends employee {
public function emp_info() {
echo “Employee Detail – ” . $this->emp_name . “\n”;
}
}
// here we Create an object of the employee subclass
$employee1 = new emp_department();
$employee1->emp_detail(“Siddhi Deora”); // here we try to Access protected class property via method in the parent or root class
$employee1->emp_info(); // Result – Employee Detail – Siddhi Deora
?>
Explanation of protected class visibility.
- इस प्रोग्राम में $emp_name क्लास प्रॉपर्टी, employee डिक्लेअर क्लास में प्रोटेक्टेड क्लास पैरामीटर है, इस वजह से प्रोग्रामर इसे क्लास के अंदर और emp_department सबक्लास के द्वारा भी डायरेक्ट एक्सेस और कण्ट्रोल कर सकता है।
- यहाँ emp_department, $emp_name प्रोटेक्टेड क्लास प्रॉपर्टी को डायरेक्ट एक्सेस कर सकता है, क्योंकि यह मैन employee क्लास से इनहेरिट की गई है।
Main difference between public, private, or protected class keyword.
| Class Visibility | Class keyword Access Level | Usability in main or root class |
| Public class keyword | Public class keyword parameter can be Fully accessible across the active class | We can use or access public class data type Anywhere inside and outside of the class member |
| Private class keyword | Private class keyword parameter can be Restricted to the class itself of the class | Private class keyword declare class member can be access or controlled Only inside the class where the property/method is defined |
| Protected class keyword | Protected class keyword member data type can be Accessible within the class and inherit derived from subclasses | Protected class keyword declares class member usable or accessible to the Inside the class and by inherited classes (subclasses) |
A summary of public, private, and protected classes.
- पीएचपी प्रोग्रामिंग में प्रोग्रामर जरूरत पड़ने पर उन क्लास प्रॉपर्टीज़ और क्लास मेथड्स को फुल एक्सेस करने के लिए पब्लिक क्लास कीवर्ड का यूज़ कर सकते है. जिसे प्रोग्रामर फ्रीडम से क्लास में एक्सटर्नल आर्डर में कही से भी एक्सेस और कण्ट्रोल कर सकते है।
- यूजर डिफाइन क्लास में सेंसिटिव क्लास डेटा या प्रोग्राम लॉजिक सिक्योरिटी के लिए प्राइवेट क्लास कीवर्ड के साथ पैरामीटर को डिक्लेअर करे. ताकि जरूरत पड़ने पर एक्सटरनली क्लास प्रोग्राम सोर्स कोड को डायरेक्ट एक्सेस या मॉडिफाई नहीं कर सके।
- यदि प्रोग्रामर जब किसी इनहेरिट सबक्लास प्रॉपर्टीज़ या क्लास मेथड्स को एक्सेस प्रोवाइड करना चाहते हैं. जबकि प्रोग्राम सोर्स कोड को एक्सटर्नल कोड से हिडन करना चाहते हैं, तो आप उस क्लास पैरामीटर डाटा टाइप वेरिएबल को प्रोटेक्टेड कीवर्ड के साथ डिक्लेअर कर सकते है।

