जैसा कि हम दोनों जानते हैं define() और const PHP स्क्रिप्ट में एक स्थिरांक घोषित करने के लिए उपयोग किया जाता है।
सिंटैक्स
<?php const VAR = 'FOO' define('VAR', 'FOO'); ?>
आइए इन दोनों के बीच के अंतर पर चर्चा करें।
- इन दोनों में मूलभूत अंतर यह है कि const संकलन समय पर स्थिरांक को परिभाषित करता है, जबकि परिभाषित () उन्हें रन टाइम पर परिभाषित करता है।
- हम स्थिरांक . का उपयोग नहीं कर सकते कीवर्ड कंडीशनल ब्लॉक में स्थिर घोषित करने के लिए, जबकि define() . के साथ हम इसे हासिल कर सकते हैं।
<?php if(){ const VAR = 'FOO'; // invalid } if(){ define('VAR', 'FOO'); //valid } ?>
- स्थिरांक एक स्थिर अदिश (संख्या, स्ट्रिंग या अन्य स्थिरांक जैसे सत्य, असत्य, शून्य, __FILE__) को स्वीकार करता है, जबकि परिभाषित () कोई भी अभिव्यक्ति लेता है।
-
स्थिरांक हमेशा केस संवेदी होते हैं, जबकि परिभाषित करें () सत्य को तीसरे तर्क के रूप में पारित करके आपको केस असंवेदनशील स्थिरांक को परिभाषित करने की अनुमति देता है।
- स्थिरांक कक्षा स्थिरांक या इंटरफ़ेस स्थिरांक घोषित करने के लिए कक्षा या इंटरफ़ेस के भीतर भी उपयोग किया जा सकता है, जबकि परिभाषित () इस कारण से उपयोग नहीं किया जा सकता है
<?php class abc{ const VAR = 2; // valid echo VAR; // valid } // but class xyz{ define('XUV', 2); // invalid echo XUV;// invalid } ?>
- उपरोक्त उदाहरण से पता चलता है कि हम const . के साथ कक्षा के अंदर स्थिरांक घोषित कर सकते हैं कीवर्ड लेकिन परिभाषित करें () कक्षा के अंदर स्थिरांक घोषित करने के लिए उपयोग नहीं किया जा सकता है।