Avatar ·

PHP: define() बनाम const — क्या अंतर है और क्या उपयोग करना बेहतर है?

सभी को नमस्ते! मैं लगभग एक साल से PHP में लिख रहा हूँ, और मुझे लगातार एक सवाल परेशान करता है। मैं देखता हूँ कि अलग-अलग प्रोजेक्ट्स में कॉन्स्टेंट को अलग-अलग तरीके से घोषित किया जाता है: कुछ define() का उपयोग करते हैं, कुछ const कीवर्ड का। उदाहरण के लिए, पुराने फ्रेमवर्क्स में मैं अक्सर ऐसा कोड देखता हूँ: ```php define('DB_HOST', 'localhost'); define('DB_NAME', 'mydb'); ``` और Laravel या Symfony पर आधुनिक प्रोजेक्ट्स में ऐसा: ```php class Config { const API_KEY = 'abc123'; const TIMEOUT = 30; } ``` या फिर सीधे ग्लोबल स्कोप में: ```php const MAX_USERS = 100; ``` मैंने PSR-1 और PSR-12 पढ़ा, लेकिन वहाँ काफी अस्पष्ट लिखा है। ऐसा लगता है कि const का उपयोग करने की सिफारिश की गई है, लेकिन यह नहीं बताया गया कि क्यों। मैंने दोनों विकल्प आज़माए — और दोनों काम करते हैं। लेकिन मुझे यह परेशान करता है कि define() if ब्लॉक के अंदर कॉन्स्टेंट सेट करने की अनुमति देता है, जबकि const नहीं देता। और मैंने यह भी सुना है कि PHP के नए वर्ज़न में const तेज़ हो गया है। क्या यह सच है? कृपया बताएं कि किन स्थितियों में कौन सा तरीका बेहतर है? क्या सिंटैक्स के अलावा कोई व्यावहारिक अंतर है?