क्या किसी के पास है T_PAAMAYIM_NEKUDOTAYIM
?
u
। यह होना चाहिए T_PAAMAYIM_NEKUDOTAYIM
। ( PAAMAYIM
= "दो बार", NEKUDOTAYIM
= :
= "נקותותיי)")
क्या किसी के पास है T_PAAMAYIM_NEKUDOTAYIM
?
u
। यह होना चाहिए T_PAAMAYIM_NEKUDOTAYIM
। ( PAAMAYIM
= "दो बार", NEKUDOTAYIM
= :
= "נקותותיי)")
जवाबों:
यह डबल कोलन ऑपरेटर है ::
( पार्सर टोकन की सूची देखें )।
var_dump(empty(TRUE))
foreach($cats as cat
बाद एकमात्र स्वीकार्य चरित्र cat
है ::
, तो यह आपको कुछ वर्ग की एक स्थिर संपत्ति को निर्दिष्ट करने की अनुमति देगा cat
। जैसे, यदि cat
कक्षा में सार्वजनिक स्थैतिक सदस्य को बुलाया जाता है $mouse
, तो foreach($cats as cat::$mouse)
पूरी तरह से मान्य है php
, लेकिन वाक्यविन्यास त्रुटि के ::
बाद के अलावा किसी भी अन्य चीज के साथ एक बयान cat
। यदि आप $mouse
की घोषित संपत्ति नहीं थी, cat
तो आपको एक घातक त्रुटि मिलेगी, लेकिन फिर भी वाक्यविन्यास त्रुटि नहीं होगी।
Google अद्भुत काम करता है।
यह "डबल कोलन" के लिए हिब्रू है ।
यह ::
PHP में ऑपरेटर के लिए एक नाम है । इसका शाब्दिक अर्थ है "डबल कोलन"। किसी कारण से उन्होंने इसका नाम हिब्रू में रखा। अपने कोड सिंटैक्स की जाँच करें, और ::
जहाँ उपयुक्त हो :-)
से विकिपीडिया :
PHP में, स्कोप रिज़ॉल्यूशन ऑपरेटर को पैमायम नेकुडोटायम (हिब्रू: מעמייד נקוםתיים) भी कहा जाता है, जिसका अर्थ है हिब्रू में "डबल कोलन"।
नाम "पैमायम नेकुदोतीम" को इजरायल द्वारा विकसित Zend Engine 0.5 में PHP 3 में इस्तेमाल किया गया था। हालांकि, यह कई डेवलपर्स को भ्रमित कर रहा है जो हिब्रू नहीं बोलते हैं, यह अभी भी PHP 5 में उपयोग किया जा रहा है, जैसा कि इस नमूना त्रुटि संदेश में है :
$ php -r :: पार्स त्रुटि: सिंटैक्स त्रुटि, अप्रत्याशित T_PAAMAYIM_NEKUDOTAYIM
PHP 5.4 के अनुसार, गुंजाइश रिज़ॉल्यूशन ऑपरेटर के विषय में त्रुटि संदेश अभी भी इस नाम को शामिल करते हैं, लेकिन इसका अर्थ कुछ हद तक स्पष्ट किया है:
$ php -r :: पार्स त्रुटि: सिंटैक्स त्रुटि, अप्रत्याशित '::' (T_PAAMAYIM_NEKUDOTAYIM)
स्कोप रिज़ॉल्यूशन ऑपरेटर (जिसे पैमायम नेकुडोटायम भी कहा जाता है) या सरल शब्दों में, डबल कोलन, एक टोकन है जो एक वर्ग के स्थिर, निरंतर और अतिप्राप्त गुणों या तरीकों तक पहुंच की अनुमति देता है।
वर्ग परिभाषा के बाहर से इन वस्तुओं को संदर्भित करते समय, कक्षा के नाम का उपयोग करें।
PHP 5.3.0 के रूप में, एक चर का उपयोग करके वर्ग को संदर्भित करना संभव है। चर का मान कोई कीवर्ड नहीं हो सकता (उदाहरण के लिए स्व, माता-पिता और स्थैतिक)।
पैमायम नेकुदोतिमे, पहली बार में, दोहरे-कॉलन के नामकरण के लिए एक अजीब पसंद की तरह प्रतीत होता है। हालाँकि, Zend Engine 0.5 (जो शक्तियां PHP 3) को लिखते हैं, वही Zend टीम ने इसे कॉल करने का निर्णय लिया है। यह वास्तव में हिब्रू में डबल-कोलोन का मतलब है!
यह तब भी आ रहा है जब आप PHP में खाली () फ़ंक्शन में एक स्थिरांक लागू करते हैं:
if (!empty(SOME_CONSTANT)) {
}
यह मेरा मामला था। मैंने इसका उपयोग करके इसे हल किया:
$string = SOME_CONSTANT;
if (!empty($string)) {
}
मैं हिब्रू को बहुत अच्छी तरह से जानता हूं, इसलिए आपके लिए "पैमायम नेकुदोटयिम" नाम को स्पष्ट करने के लिए, जिसका अर्थ है "दोहरा कोलन", लेकिन इसका शाब्दिक अनुवाद है:
::
"दो बार, दो बिंदु" या अधिक का अर्थ होता है आमतौर पर स्कोप रिज़ॉल्यूशन ऑपरेटर के रूप में जाना जाता है ।मेरे लिए यह एक क्लास फंक्शन के भीतर हुआ।
PHP 5.3 और इसके बाद के संस्करण में $this::$defaults
ठीक काम किया; जब मैंने कोड को एक सर्वर में स्वैप किया जो कि किसी भी कारण से कम संस्करण संख्या में था, तो उसने यह त्रुटि फेंक दी।
मेरे मामले में, समाधान self
इसके बजाय कीवर्ड का उपयोग करना था $this
:
self::$defaults
ठीक काम करता है।
$this
, या क्या हुआ आप ?