PHP मा OOP: एक शुरुआती गाइड

PHP मा Regex
PHP मा निर्माणकर्ता र विनाशकहरू

वस्तु-उन्मुख प्रोग्रामिङ (OOP) एक प्रोग्रामिङ प्रतिमान हो जसले वस्तुहरू प्रयोग गरेर डेटा र व्यवहारलाई प्रतिनिधित्व गर्दछ र हेरफेर गर्दछ, जुन वर्गहरूको उदाहरणहरू हुन्। PHP ले निर्मित प्रकार्य र संरचनाहरूको संग्रह मार्फत OOP समर्थन प्रदान गर्दछ।

PHP मा एक वर्ग वस्तु निर्माण को लागी एक खाका हो। वर्गले वस्तुको परिभाषा गर्छ गुण (सदस्य चर वा विशेषताहरू पनि भनिन्छ) र विधिहरू (सदस्य कार्यहरू वा व्यवहारहरू पनि भनिन्छ)। सर्तहरू "var" र "प्रकार" वर्ग भित्र क्रमशः गुण र विधिहरू निर्दिष्ट गर्न प्रयोग गरिन्छ। यहाँ आधारभूत PHP वर्गको उदाहरण हो:

class Person {
    var $name;
    var $age;

    function setName($name) {
        $this->name = $name;
    }

    function getName() {
        return $this->name;
    }

    function setAge($age) {
        $this->age = $age;
    }

    function getAge() {
        return $this->age;
    }
}

यस उदाहरणको वर्ग "व्यक्ति" मा दुई गुणहरू छन्: $name र $age। त्यहाँ चार विधिहरू पनि छन्: setName(), getName(), setAge(), र getAge()। यी विधिहरू प्रयोग गरिन्छ सेट र सम्पत्ति मानहरू पुन: प्राप्त गर्नुहोस्। यो ध्यान दिनुपर्छ कि "यो" शब्दले वर्ग भित्रको वर्तमान वस्तुलाई जनाउँछ।

क्लास वस्तु बनाउनको लागि, हामी क्लास नाम पछि "नयाँ" किवर्ड प्रयोग गर्छौं। यहाँ एउटा उदाहरण छ:

$person = new Person();

एकचोटि हामीसँग वस्तु छ, हामी गुणहरूको मानहरू सेट गर्न र प्राप्त गर्न वर्गको विधिहरू प्रयोग गर्न सक्छौं:

$person->setName("John Doe");
$person->setAge(30);

echo $person->getName(); // prints "John Doe"
echo $person->getAge(); // prints "30"

इनहेरिटेन्स वस्तु-उन्मुख प्रोग्रामिङमा एक आधारभूत अवधारणा हो जसले एक वर्गलाई अर्कोबाट विशेषताहरू र कार्यहरू प्राप्त गर्न अनुमति दिन्छ। एक उपवर्ग वा व्युत्पन्न वर्ग एक हो जुन अर्को वर्गबाट ​​इनहेरिट हुन्छ, जबकि जसबाट यो प्राप्त हुन्छ त्यो वर्गलाई सुपर क्लास वा आधार वर्ग भनिन्छ।

यहाँ एउटा "विद्यार्थी" उपवर्गको उदाहरण छ जुन सुपरक्लास "व्यक्ति" बाट आएको हो:

class Student extends Person {
    var $studentId;

    function setStudentId($id) {
        $this->studentId = $id;
    }

    function getStudentId() {
        return $this->studentId;
    }
}

यस उदाहरणमा, विद्यार्थी वर्गले व्यक्ति वर्गका सबै गुणहरू र विधिहरू इनहेरिट गर्छ र यसमा नयाँ गुण $studentId र विधिहरू setStudentId(), र getStudentId() थप्छ।

$student = new Student();
$student->setName("Jane Doe");
$student->setAge(20);
$student->setStudentId("123456");

echo $student->getName(); // prints "Jane Doe"
echo $student->getAge(); // prints "20"
echo $student->getStudentId(); // prints "123456"

इन्टरफेस एक प्रकारको अनुबंध हो जसले विधिहरूको सेट निर्दिष्ट गर्दछ जुन वर्गले कार्यान्वयन गर्नुपर्छ। इन्टरफेस किवर्ड एक परिभाषित गर्न प्रयोग गरिन्छ इंटरफेस, र यसले केवल विधि हस्ताक्षरहरू समावेश गर्न सक्छ, विधि निकायहरू होइन।

यहाँ एक "आकार" इन्टरफेस को एक उदाहरण छ जुन आकार को लागी विधिहरु को एक सेट परिभाषित गर्दछ:

interface Shape {
    public function getArea();
    public function getPerimeter();
}

इन्टरफेस लागू गर्ने वर्गले इन्टरफेसमा निर्दिष्ट विधिहरू परिभाषित गर्नुपर्छ। यहाँ वर्ग "आयत" को एक उदाहरण हो जसले आकार इन्टरफेस लागू गर्दछ:

class Rectangle implements Shape {
    private $width;
    private $height;

    public function __construct($width, $height) {
        $this->width = $width;
        $this->height = $height;
    }

    public function getArea() {
        return $this->width * $this->height;
    }

    public function getPerimeter() {
        return 2 * ($this->width + $this->height);
    }
}

यस उदाहरणमा, आयत वर्गले आकार इन्टरफेसको getArea() र getPerimeter() प्रकार्यहरू लागू गर्दछ। हामी अब एक आयत वस्तु निर्माण गर्न र यसको प्रयोग गर्न सक्छौं विधिहरू:

$rectangle = new Rectangle(5, 10);
echo $rectangle->getArea(); // prints "50"
echo $rectangle->getPerimeter(); // prints "30"

कक्षा, वस्तुहरु, विरासत, र इन्टरफेसहरू PHP मा OOP को आधारभूत विचारहरू हुन्। त्यहाँ धेरै अतिरिक्त परिष्कृत सिद्धान्तहरू छन् जुन PHP मा सफ्टवेयरलाई थप मोड्युलर, व्यवस्थित र पुन: प्रयोज्य बनाउनको लागि लागू गर्न सकिन्छ, जस्तै एब्स्ट्र्याक्ट क्लासहरू, पोलिमोर्फिज्म, इन्क्याप्सुलेशन, र यस्तै।

यो सम्झना महत्त्वपूर्ण छ कि OOP PHP मा एक मात्र प्रतिमान हो; PHP कोड निर्माण गर्न अन्य धेरै तरिकाहरू छन्; अझै, OOP व्यापक रूपमा प्रयोग गरिन्छ र वर्तमान PHP विकासमा सिफारिस गरिएको अभ्यास मानिन्छ।

प्रश्नोत्तर

प्रश्न: वस्तु-उन्मुख प्रोग्रामिङ (OOP) के हो?
A: OOP एक प्रोग्रामिङ प्रतिमान हो जसले वस्तुहरू प्रयोग गरेर डेटा र व्यवहारलाई प्रतिनिधित्व गर्दछ र हेरफेर गर्दछ, जुन वर्गहरूको उदाहरणहरू हुन्।

Q: के PHP ले OOP लाई समर्थन गर्छ?
A: हो, PHP एक लोकप्रिय सर्भर-साइड स्क्रिप्टिङ भाषा हो जसमा OOP सक्षम गर्न बिल्ट-इन प्रकार्यहरू र सुविधाहरू समावेश छन्।

प्रश्न: म कसरी PHP मा वस्तु सिर्जना गर्छु?
A: कक्षाको वस्तु सिर्जना गर्न, हामी "नयाँ" कुञ्जी शब्द प्रयोग गर्छौं, त्यसपछि कक्षाको नाम। उदाहरणका लागि: $person = new Person();

प्रश्न: OOP मा विरासत के हो?
A: इनहेरिटेन्स OOP को आधारभूत पक्ष हो जसले वर्गलाई अर्को वर्गबाट ​​गुण र विधिहरू प्राप्त गर्न अनुमति दिन्छ।

प्रश्न: तपाईं इन्टरफेसहरू के हो भनेर व्याख्या गर्न सक्नुहुन्छ?
A: इन्टरफेसहरू वर्गको लागि सम्झौता परिभाषित गर्ने तरिका हो, वर्गले लागू गर्नुपर्ने विधिहरूको सेट निर्दिष्ट गर्दै।

Q: त्यहाँ PHP मा OOP को अन्य उन्नत अवधारणाहरू छन्?
A: हो, त्यहाँ धेरै अतिरिक्त परिष्कृत सिद्धान्तहरू छन् जुन PHP मा कार्यक्रमलाई थप मोड्युलर, व्यवस्थित र पुन: प्रयोज्य बनाउनको लागि लागू गर्न सकिन्छ, जस्तै एब्स्ट्र्याक्ट क्लासहरू, पोलिमोर्फिज्म, इन्क्याप्सुलेशन, र यस्तै।

व्यायाम गर्नुहोस्:

  1. PHP मा क्लास बनाउनको लागि सिन्ट्याक्स के हो?
  2. तपाइँ कसरी PHP कक्षामा कन्स्ट्रक्टर विधि परिभाषित गर्न सक्नुहुन्छ?
  3. PHP वर्गमा स्थिर विधि र गैर-स्थिर विधि बीच के भिन्नता छ?
  4. तपाइँ कसरी PHP मा कक्षाबाट वस्तु सिर्जना गर्न सक्नुहुन्छ?
  5. PHP वर्गमा "विस्तार" कुञ्जी शब्दको उद्देश्य के हो?

जवाफहरू:

  1. PHP मा क्लास बनाउनको लागि सिन्ट्याक्स "class ClassName {}" हो।
  2. PHP वर्गमा कन्स्ट्रक्टर विधिलाई __construct() प्रकार्य प्रयोग गरेर परिभाषित गर्न सकिन्छ।
  3. एक स्थिर विधिलाई वर्गको वस्तु सिर्जना नगरी कल गर्न सकिन्छ, जबकि गैर स्थिर विधिलाई वस्तु सिर्जना गर्न आवश्यक छ र त्यसपछि यसलाई कल गर्न सकिन्छ।
  4. PHP मा क्लासबाट "नयाँ" कुञ्जी शब्द प्रयोग गरेर, क्लासको नाम पछि, र यसलाई चलमा असाइन गरेर वस्तु सिर्जना गर्न सकिन्छ। जस्तै $object = new ClassName;
  5. PHP वर्गमा "विस्तार" कुञ्जी शब्दलाई अभिभावक वर्गबाट ​​वर्ग प्राप्त भएको संकेत गर्न प्रयोग गरिन्छ। यसले वर्गलाई अर्को वर्गबाट ​​गुण र विधिहरू प्राप्त गर्न अनुमति दिन्छ।
PHP मा Regex
PHP मा निर्माणकर्ता र विनाशकहरू
en English
X
माथि स्क्रोल गर्नुहोस्