কারও কি আছে 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
গুগল আশ্চর্য কাজ করে।
এটি "ডাবল কোলন" এর হিব্রু ।
এটি ::
পিএইচপি- র অপারেটরের জন্য একটি নাম । এর আক্ষরিক অর্থ "ডাবল কোলন"। কোন কারণে তারা হিব্রু নামকরণ করেছিল। আপনার কোড বাক্য গঠন পরীক্ষা করুন, এবং একটি ::
উপযুক্ত যেখানে রাখুন :-)
উইকিপিডিয়া থেকে :
পিএইচপি-তে স্কোপ রেজুলেশন অপারেটরকে পামাইম নেকুডোটায়িম (হিব্রু: פעמיים נקודתיים) নামেও ডাকা হয়, যার অর্থ হিব্রুতে "ডাবল কোলন"।
"পামায়িম নেকুডোটাইম" নামটি পিএইচপি 3 তে ব্যবহৃত ইস্রায়েলি-বিকাশযুক্ত জেন্ড ইঞ্জিন 0.5 তে প্রবর্তিত হয়েছিল যদিও এটি হ'ল হিব্রু না বলে অনেক বিকাশকারীকে বিভ্রান্ত করছে, এখনও এটি পিএইচপি 5 তে ব্যবহৃত হচ্ছে, যেমন এই নমুনা ত্রুটির বার্তায় :
$ php -r :: পার্স ত্রুটি: সিনট্যাক্স ত্রুটি, অপ্রত্যাশিত T_PAAMAYIM_NEKUDOTAYIM
পিএইচপি 5.4 হিসাবে স্কোপ রেজোলিউশন অপারেটর সম্পর্কিত ত্রুটি বার্তাগুলি এখনও এই নামটি অন্তর্ভুক্ত করে তবে এর অর্থ কিছুটা স্পষ্ট করে দিয়েছে:
$ পিএইচপি-আর :: পার্স ত্রুটি: সিনট্যাক্স ত্রুটি, অপ্রত্যাশিত '::' (টি_প্যামএআইআইএম_নেকডোটায়াইম)
থেকে সরকারী পিএইচপি ডকুমেন্টেশন :
স্কোপ রেজোলিউশন অপারেটর (যাকে Paamayim Nekudotayim বলা হয়) বা সহজ কথায় ডাবল কোলন হ'ল একটি টোকেন যা স্থির, ধ্রুবক এবং ওভাররাইড হওয়া বৈশিষ্ট্য বা শ্রেণীর পদ্ধতিগুলিতে অ্যাক্সেসের অনুমতি দেয়।
শ্রেণি সংজ্ঞার বাইরে থেকে এই আইটেমগুলি উল্লেখ করার সময়, শ্রেণীর নাম ব্যবহার করুন।
পিএইচপি 5.3.0 হিসাবে, একটি ভেরিয়েবল ব্যবহার করে শ্রেণিটি উল্লেখ করা সম্ভব। ভেরিয়েবলের মান কোনও কীওয়ার্ড হতে পারে না (যেমন স্ব, পিতামাতা এবং স্থিতিশীল)।
পাইমাইম নেকুডোটায়িম প্রথমে ডাবল-কোলনের নামকরণের জন্য একটি অদ্ভুত পছন্দ বলে মনে হবে। যাইহোক, জেন্ড ইঞ্জিন 0.5 লিখতে গিয়ে (যা পিএইচপি 3 কে ক্ষমতা দেয়), যা জেন্ড দল এটিকে ডাকার সিদ্ধান্ত নিয়েছিল। এর অর্থ হ'ল ডাবল-কোলন - হিব্রু ভাষায়!
আপনি যখন খালি () ফাংশনে পিএইচপিতে একটি ধ্রুবক প্রয়োগ করেন তখন এটিও আসবে:
if (!empty(SOME_CONSTANT)) {
}
এটা আমার কেস ছিল। আমি এটি ব্যবহার করে এটি সমাধান করেছি:
$string = SOME_CONSTANT;
if (!empty($string)) {
}
আমি হিব্রুটি বেশ ভাল জানি, তাই আপনার জন্য "পামাইম নেকুডোটায়িম" নামটি পরিষ্কার করার জন্য, প্যারাফ্রেস করা অর্থটি "ডাবল কোলন", তবে আক্ষরিক অনুবাদ করা:
::
বোঝায় , এইভাবে "দু'বার, দুটি বিন্দু" বা আরও বেশি বোঝায় সাধারণত স্কোপ রেজোলিউশন অপারেটর হিসাবে পরিচিত ।আমার জন্য এটি একটি ক্লাস ফাংশনের মধ্যে ঘটেছিল।
পিএইচপি 5.3 এবং উপরের উপর $this::$defaults
জরিমানা কাজ করেছে; যখন আমি কোডটিকে একটি সার্ভারে অদলবদল করি যে কোনও কারণেই এটির ত্রুটি ছুঁড়ে দিয়েছে version
আমার ক্ষেত্রে সমাধানটি হ'ল self
পরিবর্তে কীওয়ার্ডটি ব্যবহার করা উচিত $this
:
self::$defaults
ঠিক কাজ করে।
$this
, বা কি ঘটেছে আপনি ?