PHP में define() या const: कॉन्स्टेंट के लिए क्या अंतर है और क्या बेहतर है?
सभी को नमस्ते! मैं एक शुरुआती PHP डेवलपर हूँ और अपना पहला प्रोजेक्ट शुद्ध PHP (बिना frameworks के) में लिख रहा हूँ। मुझे एक सवाल का सामना करना पड़ा: कॉन्स्टेंट को सही तरीके से कैसे घोषित करें? ट्यूटोरियल्स और Stack Overflow पर मैंने दो तरीके देखे: define() के माध्यम से और const के माध्यम से। उदाहरण के लिए:
```php
// तरीका 1
define('SITE_NAME', 'मेरी साइट');
define('MAX_LOGIN_ATTEMPTS', 5);
// तरीका 2
const SITE_NAME = 'मेरी साइट';
const MAX_LOGIN_ATTEMPTS = 5;
```
दोनों काम करते हैं, लेकिन मुझे समझ नहीं आता कि इनमें मूलभूत अंतर क्या है। जब मैंने गूगल किया, तो मुझे PSR-1 और PSR-12 का उल्लेख मिला, लेकिन वहाँ सामान्य शब्दों में लिखा है: "const का उपयोग करें"। लेकिन क्यों? define() भी तो काम करता है।
इसके अलावा, मैंने देखा कि पुराने प्रोजेक्ट्स (PHP 5) में हर जगह define() का उपयोग होता है, जबकि आधुनिक (PHP 8) में const का। क्या यह सिर्फ स्वाद का मामला है या तकनीकी कारण हैं?
मुझे विशेष रूप से इसमें दिलचस्पी है:
1. क्या const का उपयोग classes के अंदर और बाहर किया जा सकता है?
2. क्या दोनों विकल्प arrays के साथ काम करते हैं?
3. क्या performance में कोई अंतर है?
4. क्या कहते हैं?