दिलचस्प पोस्ट
कास्ट एप्लिकेशन में "GoogleApiClient अभी तक कनेक्ट नहीं है" अपवाद iPhone, यूआईटीextफिल्ड के बाहर छूते हुए कीबोर्ड को खारिज कर देते हैं PHP और नोड के बीच सत्र साझा करें एमपी 3 प्लेबैक की शुरुआत में मीडियाप्लेयर स्टुटर्स पायथन डिक्शनरी से कोई आइटम निकालने का सबसे अच्छा तरीका है? एकाधिक स्ट्रिंग तत्वों को सी # में बदलें स्थिर लिंक किए गए DLL के लिए डीएलएल खोज पथ को बदलना getWidth और getHeight शून्य लौट रहे हैं त्वरित भाषा में CC_MD5 पद्धति का उपयोग कैसे करें सी और सी ++ में फ़ंक्शन के लिए एक बहुआयामी सरणी कैसे पारित करें वीडियो चल रहा है पर प्रभाव लागू जावास्क्रिप्ट पाश प्रदर्शन – वृद्धिशीलता की तुलना में तेज़ गतिशीलता की तुलना में तेज़ तेज़ी की वजह क्यों है? एक आर सत्र में उपलब्ध स्मृति का प्रबंधन करने के लिए ट्रिक्स अभिविन्यास परिवर्तन रोटेशन एनीमेशन अक्षम करें कैमरा पूर्वावलोकन को पोर्ट्रेट एंड्रॉइड ओपनसीवी कैमरा पर घुमाएं

क्या PHP फ़ंक्शन केस संवेदनशील है?

मैं कुछ कोड के माध्यम से खुदाई कर रहा था, और मुझे mySQL_fetch_array कुछ कॉल mySQL_fetch_array । PHP के नाम के बारे में संवेदनशील कार्य नाम है? मुझे यह कहीं पढ़ना याद है, लेकिन इसके बारे में कोई संदर्भ नहीं मिल सकता है।

Solutions Collecting From Web of "क्या PHP फ़ंक्शन केस संवेदनशील है?"

मैं इससे उद्धृत हूं:

नोट: फ़ंक्शन के नाम केस-असंवेदनशील होते हैं, हालांकि यह आमतौर पर काम करने के लिए अच्छा फॉर्म होता है क्योंकि वे अपने घोषणा में दिखाई देते हैं।

इसलिए, यह उपयोगकर्ता-परिभाषित फ़ंक्शंस जैसा दिखता है, केस-संवेदी नहीं है, PHP5 मामले-संवेदनशील के तहत कार्य / ऑब्जेक्ट बनाने के लिए एक वोट था।

नहीं।

PHP फ़ंक्शन केस संवेदनशील नहीं हैं I

टीएल; डीआर: वर्ग के नाम केस-असंवेदनशील होते हैं, लेकिन घोषणा में हमेशा उसी मामले का उपयोग करें (फ़ंक्शन के समान)। इसके अलावा, अलग-अलग केसों के रूप में परिभाषित किए जाने वाले क्लासों को तत्काल रूप देने के कारण ऑटो-लोडर्स के साथ समस्याओं का कारण हो सकता है।


इसके अलावा, वर्ग के नाम केस असंवेदनशील हैं:

 <?php class SomeThing { public $x = 'foo'; } $a = new SomeThing(); $b = new something(); $c = new sOmEtHING(); var_dump($a, $b, $c); 

यह आउटपुट:

 class SomeThing#1 (1) { public $x => string(3) "foo" } class SomeThing#2 (1) { public $x => string(3) "foo" } class SomeThing#3 (1) { public $x => string(3) "foo" } 

समस्या autoloaders और केस-संवेदी फाइल सिस्टम (जैसे ext2 / 3/4) का उपयोग कर रही है, जिसमें आपको क्लास नाम को उसी मामले से कॉल करना होगा, जिसमें वर्ग युक्त फ़ाइल का नाम दिया गया है (कक्षा का नाम वास्तव में कैसा नहीं है)। या strtolower उपयोग strtolower :

क्लास फ़ाइल:

 <?php // filename something.php class SomeThing { ... } 

Autoloader फ़ंक्शन ( __autoload या __autoload साथ पंजीकृत करने के लिए फ़ंक्शन)

 function my_autloader($className) { $filename = CLASSES_DIR . DIRECTORY_SEPARATOR . $className . '.php'; if (file_exists($filename)) { require($filename); } } 

अब इस कोड के साथ:

 $a = new something(); // works $b = new SomeThing(); // does not work $c = new SOMETHING(); // does not work 

आप इस काम को बना सकते हैं (यानी यदि आप strtolower() कोड में strtolower() में कॉल strtolower() , लेकिन फ़ंक्शन के साथ, एक क्लास को संदर्भित करना बेहतर होता है जैसे कि घोषित किया गया है, उसी नाम से क्लास का नाम के साथ फाइल नाम है, strtolower का उपयोग करें, और strtolower और पसंद का उपयोग करके भूलें।

नहीं, वे मामले के प्रति संवेदनशील नहीं हैं, फिर भी, आपको हमेशा उस मामले का उपयोग करना चाहिए जो मैनुअल में है, स्थिरता के लिए।

हालांकि, वेरिएबल मामले संवेदनशील हैं।

PHP चर में केस संवेदनशील होते हैं लेकिन फ़ंक्शंस की कोई समस्या नहीं होती है। आप आउटपुट प्रदर्शित करने के लिए निम्नलिखित कथन का उपयोग कर सकते हैं, सभी एक ही परिणाम दिखाएंगे।

 <?php Echo "This is a test script"; ECHO "This is a test script"; echo "This is a test script"; ?> 

दूसरी ओर, यदि आप चर के मामले संवेदनशीलता बदल देंगे तो यह त्रुटि दिखाएगा।

उदाहरण:

 <?php $a=5; echo $A;// It will show the error. ?> 

आउटपुट:

 Notice: Undefined variable: A in C:\xampp\htdocs\test.php on line 3 

और विधि के नाम भी असंवेदनशील हैं। जैसे: –

 <?php class C { public function method() { } public function METHOD() { } } 

उत्पादन:

 PHP Fatal error: Cannot redeclare C::METHOD() in ....php on line 6 

सभी की प्रतिक्रिया के समापन में हालांकि PHP को सभी मामलों में चरित्र के मामले की स्थिरता की आवश्यकता नहीं है, हालांकि अब तक यह PHP5 में है।

सर्वश्रेष्ठ अभ्यास होगा

हमेशा उसी मामलों का उपयोग करते हैं, जब संदर्भों को वापस वेरिएबल्स (इसकी 'अनिवार्य) या फ़ंक्शंस (इसका' वैकल्पिक, लेकिन अनुशंसित) के संदर्भ में।

आपको कभी नहीं पता है कि एक दिन वोट प्राप्त होता है और आप दो साल पहले अपने आवेदनों में बदलते मामलों के पूरे दुःस्वप्न को बचाएंगे, जिन्हें PHP में अपडेट की आवश्यकता होती है।

आशा है कि यह वैसे भी मदद करता है।

शायद यह बहुत देर हो चुकी है, लेकिन …

हर कोई पहले से ही यहां ज्ञात है: PHP इंजन अक्षरों के मामले की परवाह नहीं करता है।

और पीपी बगटार्कर पर वोट होता है, जहां बहुमत कहते हैं: "हां, मैं प्रो केस सेंनेटिविटी हूं"।

लेकिन मैं इसके विपरीत हूं, क्योंकि मेरे एमवीसी फ्रेमवर्क में, मैं नियंत्रक कार्रवाई कॉल करता हूं:

  $currentController = new $controller($parameters); $currentAction = $currentController->{$action}(); 

$ नियंत्रक और $ कार्रवाई यूआरएल के रूप में लिया जाता है।

सोचें, अगर कोई उपयोगकर्ता मेरी साइट का लिंक प्रकाशित करता है: https: // my-site / MyPartnerController / MyPartnerGallery

जबकि वर्ग का नाम मेरा पार्टनर नियंत्रक है …

इसका अर्थ है कि अगर कोई भी पीएचपी वर्ग और फ़ंक्शंस के नाम मामूली संवेदनशील नहीं हैं तो इस पृष्ठ को कभी भी लाभ नहीं होगा।

हां, मैं हमेशा कोड में सभी नामों का उपयोग घोषित करता हूं। लेकिन मैं प्रार्थना करता हूं कि वे कभी भी कार्य नहीं करेंगे और वर्ग के नाम केस संवेदनशील

धन्यवाद!