PHP में self और $this का उपयोग कब करें? दृश्यता क्षेत्र को समझना
सभी को नमस्ते! मैंने PHP में OOP सीखना शुरू किया है और मैं लगातार भ्रमित हो जाता हूँ कि कब `self` का उपयोग करना है और कब `$this` का। दोनों ही क्लास के properties और methods को संदर्भित करते हैं, लेकिन स्पष्ट रूप से अंतर है, और मैं इसे समझ नहीं पा रहा हूँ।
यहाँ एक सरल उदाहरण है जो मुझे भ्रमित करता है। मेरे पास एक constant और एक सामान्य property वाला क्लास है:
```php
class Car {
const WHEELS = 4;
public $color = 'red';
public function showInfo() {
echo "पहिए: " . self::WHEELS . "\n";
echo "रंग: " . $this->color . "\n";
}
}
$car = new Car();
$car->showInfo();
```
मैं constant के लिए `self::WHEELS` क्यों लिखता हूँ, और property के लिए `$this->color`? यदि मैं `self::$color` या `$this::WHEELS` लिखने का प्रयास करूँ तो क्या होगा? क्या यह inheritance में काम करता है? उदाहरण के लिए, यदि मैं एक child class बनाता हूँ और constant या property को override करता हूँ, तो सही तरीके से कैसे संदर्भित करूँ?
मैंने static methods और properties के बारे में पढ़ा है, लेकिन फिर भी मुझे लगता है कि मैं तर्क को पूरी तरह से नहीं समझ पाया हूँ। कृपया समझाएँ।