PHP चर को एक डॉलर चिह्न के साथ होने की आवश्यकता क्यों है?


13

मैं समझता हूं कि सभी PHP चर को डॉलर चिह्न (जैसे $someValue = 1) से पहले करने की आवश्यकता है , लेकिन यह मामला क्यों है? यह डिजाइन विकल्प क्यों बनाया गया था?

मेरे पूछने का कारण यह है कि मेरी प्रेमिका ने पूछा कि जब मैंने उल्लेख किया था कि PHP चर को एक डॉलर चिह्न के साथ शुरू करने की आवश्यकता है, और मुझे एहसास हुआ कि मुझे पता नहीं था कि यह वाक्यविन्यास पसंद क्यों किया गया था।

कोई विचार?


11
क्योंकि PHP के निर्माता को यह नहीं पता था कि कैसे एक पार्सर लिखना है। इसलिए पहचानकर्ताओं को पहचानने के लिए एक बैसाखी की जरूरत थी।
थॉमसएक्स

@ThomasX - Haha आप शायद कर रहे हैं सही है ... मैं सी कोड बेस या तो (उफ़) का कोई प्रशंसक हूँ
बेन डेमोट

मुझे लगता है कि केवल PHP जिसने इस प्रश्न का उत्तर दिया है।
kiamlaluno

1
मुझे लगता है कि यह डेवलपर को प्रोत्साहित करने के लिए है ... हर बार जब आप $ साइन डालते हैं तो आप अपने भुगतान के करीब होते हैं!
कामिल क्लीमेक

मुझे खुशी होगी अगर मुझे $this->हर वर्ग चर और फ़ंक्शन के सामने उपयोग नहीं करना पड़ा।
च्लोए

जवाबों:


8

वैसे मैं वास्तव में $ $ $ का एक बड़ा प्रशंसक नहीं हूं (मुझे वास्तव में परवाह नहीं है कि चर की लागत कितनी है)। लेकिन यह पर्ल से आता है।

पेरल या php जैसी व्याख्या की गई स्क्रिप्टिंग भाषाएं चर को जल्दी से पहचानने और पार्स करने के लिए $ का उपयोग करती हैं। यह दुभाषिया के लिए सिर्फ एक अनुकूलन है। लेकिन निश्चित रूप से प्रोग्रामर के लिए एक अनुकूलन नहीं है!


यह एक प्रोग्रामर के लिए एक अनुकूलन कैसे नहीं है? - मैं तुरंत चर की पहचान कर सकता हूं और उन्हें अन्य निर्माणों से अलग कर सकता हूं ..
जोहान्स

मेरा मानना ​​है कि लैरी वॉल ने एक बार कहा था कि चर के सामने $ ने मौजूदा कोड को तोड़े बिना पर्ल का विस्तार करना आसान बना दिया है। वह नए कीवर्ड जोड़ सकता है जो पहले से ही चर के रूप में उपयोग नहीं किए जाएंगे। यह यह लेख होना चाहिए , लेकिन यह एक पेवल के पीछे है :-(
एसएल बर्थ - मोनिका

@johannes मैं $ के बिना भी C में एक चर की तुरंत पहचान कर सकता हूं क्योंकि मैंने सभी प्रमुख शब्दों को याद किया है और उनके बीच फंक्शंस में कोष्ठक है।
JSideris

1
@Bizorke C में शायद कम कीवर्ड हैं (उनकी गिनती नहीं की गई है), लेकिन अच्छी तरह से, PHP में निरंतरता है, बिना $, भले ही लोग आमतौर पर UPERCASE में स्थिरांक का उपयोग करते हैं। और ठीक है, एक बार जब आप दिल से सभी खोजशब्दों को जानते हैं, तो आप उन्नत होते हैं, इस दृश्य सहायता के साथ आसान हो सकता है ... लेकिन फिर: यह स्वाद का मामला है। एक उत्तर के लिए मेरी धारणा "पर्ल से कॉपी" और "सरल से पार्स" उर्फ ​​होगी। ऐतिहासिक निर्णय
जोहान्स

@johannes ने यह नहीं कहा कि $ को पर्ल से कॉपी किया गया था, मैंने कहा कि यह पर्ल से आता है; PHP पर्ल पर आधारित है। हाँ यह वरीयता है। जब भी आप शब्द पर डबल क्लिक करते हैं (कॉपी / पेस्ट धीमा कर देता है) में हर बार और कई संपादकों में $ टाइप करना मुझे पसंद नहीं है। हां, PHP में C की तुलना में कुछ अधिक कीवर्ड हैं, लेकिन मेरा तर्क अभी भी C ++, जावा, आदि पर लागू होता है। कुंजी शब्द आमतौर पर याद रखने में आसान होते हैं और आमतौर पर भाषाओं के बीच अपेक्षाकृत संगत होते हैं। इसके अलावा, PHP शुरुआती के लिए सिर्फ JUST नहीं है। मैं हर दिन PHP (और कई अन्य भाषाओं) में कार्यक्रम करता हूं, और मैं आपको बता सकता हूं कि $ ने कुछ भी नहीं किया है लेकिन मुझे धीमा कर दिया है।
JSideris

5

PHP मूल रूप से एक मेटा-सिंटैक्स था जिसे पार्स किया गया था और बस गतिशील रूप से एक संकलित सी-प्रोग्राम फ़ंक्शन में कहा जाता था।
इस तरह से आप इसे "वेब" के लिए "शेल" प्रोग्राम के समान सोच सकते हैं ...
यह कोई आश्चर्य की बात नहीं है कि $ डॉलिग्नेंस वाले वेरिएबल शेल वेरिएबल्स के समान थे।

जब मैं 12 साल का था, और मैं PHP 3 सीख रहा था ... मेरी पहली प्रोग्रामिंग भाषा के रूप में - $ जीवन को इतना आसान बना दिया। मुझे पता था कि एक चर क्या था, लेकिन मैंने पढ़ा हुआ संभव स्रोत कोड के सभी में एक अनुस्मारक होने के नाते ... यकीन है कि मैं आज यहां नहीं होता अगर मैं PHP पर शुरू नहीं करता।

यहाँ से एक उदाहरण है -> http://www.php.net/manual/en/history.php.php

<! - शामिल /text/header.html ->

<! - getenv HTTP_USER_AGENT ->
<! - ifsubstr $ exec_result Mozilla ->
  अरे, आप नेटस्केप का उपयोग कर रहे हैं! <P>
<! - endif ->

<! - sql डेटाबेस से तालिका का चयन करें जहां उपयोगकर्ता = '$ उपयोगकर्ता नाम' ->
<! - ifless $ numentries 1 ->
  क्षमा करें, वह रिकॉर्ड मौजूद नहीं है <p>
<! - एंडिफ एग्जिट ->
  आपका स्वागत है <! - $ उपयोगकर्ता ->! <P>
  आपके पास <-! $ इंडेक्स: 0 -> क्रेडिट आपके खाते में बचा है। <p>

<! - शामिल /text/footer.html ->

2
हालांकि मुझे संदेह नहीं है कि डॉलर का संकेत आपके लिए उपयोगी था, मुझे आश्चर्य है कि शायद यह PHP की समग्र सादगी थी जो इसके साथ करने के लिए अधिक थी। मैंने एक किशोरी के रूप में बुनियादी जावास्क्रिप्ट के साथ शुरुआत की और चर को सीखने में बहुत आसान पाया, शायद इसलिए कि उन दिनों में जावास्क्रिप्ट उदाहरण इतने सरल थे।
मैट ब्राउन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.