[Powered by Google Translate] [PHP सिंटेक्स] [टॉमी MacWilliam] [हार्वर्ड विश्वविद्यालय] [यह CS50 है.] [CS50.TV] इस वीडियो में, हम PHP मिलवाता हूँ - भाषाओं में से एक हम CS50 में उपयोग कर सकता हूँ वेब विकास के लिए हम संक्रमण के रूप में. पीएचपी, PHP के हाइपरटेक्स्ट प्रोसेसर के लिए खड़ा है या PHP Hypertext प्रोसेसर हाइपरटेक्स्ट प्रोसेसर, और मैं वहाँ बंद कर देंगे. PHP मैं सच में भयानक है जो मुझे लगता है एक पुनरावर्ती संक्षिप्त है. तो, चलो लिखने 'हैलो' दुनिया PHP में, हम जानते हैं और प्यार के लिए आया हूँ कि सी में 'हैलो' दुनिया की तुलना में थोड़ा अलग होगा. इसके बजाय hello.c नामक एक फाइल बनाने की, हम hello.php पैदा हो जाएगी. हमारे PHP कोड के सभी के बीच में शामिल किया जाएगा. हम स्थित है कि किसी भी PHP कोड है, तो इन सीमांकक के बाहर है, यह लागू नहीं होगा. हम इन PHP के ब्लॉक के रूप में कई हो सकते हैं हम एक PHP फ़ाइल के अंदर चाहते हैं. PHP में एक मुख्य समारोह के लिए कोई ज़रूरत नहीं है. इसके बजाय, हमारे PHP कोड यह हमारे PHP फ़ाइल में प्रकट होता है आदेश में चला जाएगा. सी और PHP दोनों डेटा outputting के लिए एक 'printf' समारोह है. लेकिन PHP में, हम # standardIO.h की तरह किसी भी हेडर फाइल को शामिल करने की जरूरत नहीं है. PHP में हम अपने कोड संकलन नहीं किया जाएगा क्योंकि यही है. हम सी कोड लिखा था जब हमारे कार्यप्रवाह खोलने होने की प्रवृत्ति एक या अधिक. ग या. ज फ़ाइलें, उन्हें बदलने, उन्हें संकलन, और जिसके परिणामस्वरूप द्विआधारी चल रहा है. इस प्रक्रिया के बारे में अधिक जानकारी के लिए संकलनकर्ता वीडियो देखें. बजाय संकलित - - भाषा सी के विपरीत, PHP एक व्याख्या है. यही कारण है कि PHP कोड हम लिखने का मतलब है कि , एक दुभाषिया नामक एक विशेष कार्यक्रम के माध्यम से चला जाएगा जिसमें हमारे कोड लागू हो जाएगा. हमारे PHP कोड को चलाने के लिए हम इसके निष्पादन संभाल लेंगे जो PHP दुभाषिया के साथ भेज देंगे बल्कि मशीन कोड के लिए यह संकलन से. की कार्रवाई में दुभाषिया देखते हैं. हम एक टर्मिनल खोलने के लिए और PHP कमांड चलने देंगे हम चलाना चाहेंगे PHP फ़ाइल के लिए पथ द्वारा पीछा किया. हम, 'php के hello.php' कहता हूँ. और वहाँ हम चले. हमारे PHP कार्यक्रम का उत्पादन होता है. हम सब पर हमारे PHP फ़ाइल संकलन करने की जरूरत नहीं थी. PHP दुभाषिया - इसके बजाय, हम एक और कार्यक्रम था - हम ने लिखा है कि sourcecode निष्पादित. PHP के बस printf से ज्यादा कर सकते हैं. चलो कुछ और अधिक जटिल PHP के कार्यक्रमों लिखते हैं. निर्माणों के लिए वाक्यविन्यास - के लिए, जबकि, बाकी, अगर पसंद है, और स्विच - PHP और सी में एक ही है जरा सी की तरह, इन निर्माणों में से प्रत्येक अपने शरीर को चिह्नित करने के लिए ब्रेसिज़ का उपयोग करता है और बस सी में की तरह, हर पंक्ति हम लिखना अर्धविराम पर समाप्त करना चाहिए; हालांकि, चर PHP में थोड़ा अलग तरीके से नियंत्रित किया जाता है. सबसे पहले, PHP में सभी चर डॉलर के हस्ताक्षर के साथ शुरू होगा. यह पहली बार में एक छोटा सा अजीब लगता है, लेकिन अगर आप इसकी आदत हो जाएगी. दूसरा, PHP एक शिथिल टाइप भाषा है जो आप स्पष्ट रूप से सूची की ज़रूरत नहीं है इसका मतलब आप इसे बनाने के लिए जब एक चर के प्रकार के. सी में आप कहने की जरूरत थी जहां int x = 5; या चार वाई = 'एक'; PHP में हम केवल $ एक्स = 5 कह सकते हैं; और $ वाई = 'एक';. एक ही कार्य के लिए लागू होता है. बल्कि पूर्णांक च () {हमारे समारोह के शरीर} कह से, PHP में हम समारोह च () {हमारे समारोह के शरीर} कहने जा रहे हैं. हम स्पष्ट रूप से हमारे समारोह च का रिटर्न प्रकार निर्दिष्ट करने की आवश्यकता नहीं है. PHP में कार्य भी एक ही प्रकार के वापस जाने के लिए नहीं है हर बार वे क्रियान्वित कर रहे हैं. उदाहरण के लिए, हम एक त्रुटि पर झूठी है कि रिटर्न एक समारोह लिख सकता है और एक अन्य प्रकार अगर यह सफल. यह भी हमें और अधिक सामान्य कार्यों को लिखने में मदद कर सकते हैं. उदाहरण के लिए, हम एक भी जोड़ समारोह लिख सकता है 2 पूर्णांकों दिया जाता है कि एक पूर्णांक लौट सकते हैं या एक नाव 2 मंगाई दिया जाता है. सी में, हम यह करने के लिए 2 अलग कार्यों लिखने की जरूरत होगी. सी में रहते हुए हम एक उठाने और तार, के लिए संकेत का उपयोग हम PHP में संकेत का उपयोग करने में सक्षम नहीं होगा. इसके बजाय, सरणियों और तार दोनों PHP में प्रकार में निर्मित कर रहे हैं. वे सही भाषा में निर्मित कर रहे हैं. हम कह सकते हैं PHP में एक सरणी बनाने के लिए, $ एक = सरणी (1, 2, 3); या अधिक बस $ एक = [1, 2, 3]. हम इस सरणी में सूचकांक हम सी. से इस्तेमाल कर रहे हैं कि एक ही वाक्य रचना का उपयोग कर सकते हैं पहला तत्व प्राप्त करने के लिए हम कहते हैं, $ एक [0] हूँ;. PHP भी साहचर्य arrays के लिए समर्थन में बनाया गया है. साहचर्य सरणियों बस हम पहले से ही देखा है हैश तालिका डेटा संरचना की तरह हैं - वे एक मूल्य के लिए एक प्रमुख नक्शा. का एक उदाहरण पर एक नज़र रखना. हम $ कर्मचारियों को कह सकते हैं = ["प्रशिक्षक" => "डेविड", "TF" => "टॉमी"];. प्रशिक्षक और tf - यहाँ, मैं 2 कुंजी के साथ एक साहचर्य सरणी है. डबल तीर, या बराबर होती है, अधिक से अधिक से अधिक, एक चाबी और अपनी इसी मूल्य को अलग करने के लिए प्रयोग किया जाता है. तो, $ कर्मचारियों ["TF"] के मूल्य स्ट्रिंग "टॉमी" है. एक साहचर्य सरणी के मूल्यों - अधिक किसी भी अन्य सरणी की तरह - किसी भी प्रकार का हो सकता है. उदाहरण के लिए, हम कह सकते हैं, $ स्टाफ = ["प्रशिक्षक" => "डेविड", "TFS" => ["टॉमी", "लूटने"]];. अब 'TFS' का मूल्य एक सरणी है. यही एक साहचर्य सरणी के अंदर मूल्यों विभिन्न प्रकार के हो सकते हैं. PHP सरणियों भी, एक निश्चित लंबाई नहीं है इसलिए हम एक सरणी से तत्व जोड़ या हटा सकते हैं. हम कहते हैं कि हम $ की तरह एक साधारण सरणी का कहना है कि एक = [1, 2, 3]. इस सरणी के लिए एक नया तत्व जोड़ने के लिए, हम कहते हैं, $ एक [] = 4; कर सकते हैं. [1, 2, 3, 4] - अब हमारे सरणी चार तत्व होते हैं. याद है हम सी में इस तरह से कुछ करना चाहता था कि, हम एक पूरी नई सरणी का आवंटन करने के लिए होगा इस बारे में हमारी पहली सरणी की सामग्री की नकल, और फिर हमारे नए मूल्य को नई सरणी का अंतिम तत्व निर्धारित किया है. यह PHP में बहुत आसान है. हमारे सरणी एक साहचर्य सरणी है, हम केवल एक तत्व बनाने के लिए एक नया कुंजी परिभाषित कर सकते हैं यह अभी तक मौजूद नहीं है. $ श्लोक - - हम अपने पहले सरणी है हम कर्मचारियों $ कह सकते हैं ["कुल"] = 3;. अब हम 3 के मूल्य के साथ एक नया कुंजी है. एक सरणी में तत्वों की संख्या प्राप्त करने के लिए, हम 'गिनती' समारोह का उपयोग कर सकते हैं. अगर हम कहते हैं, ($ एक) गिनती, 4 के एक मूल्य होगा. PHP में, हम, डबल या एकल उद्धरण का उपयोग कर तार बना सकते हैं इसलिए इन चर के दोनों तार कर रहे हैं. S1 $ = "स्ट्रिंग"; $ s2 = 'एक और स्ट्रिंग';. इन दोनों के बीच क्या अंतर है? खैर, यह शामिल करना चाहते हैं के लिए बहुत आम है एक तार का एक चर के अंदर का मूल्य. ऐसा करने का एक तरीका है, है PHP डॉट ऑपरेटर का उपयोग होगा जो संयोजित तार. हम इस तरह से कुछ कर सकता है - $ एन = 5, $ एस = 'एन है' एन $.;. यहाँ हमारे n चर एक पूर्णांक है. लेकिन हम एक तार के साथ जुटना जब, PHP स्वचालित रूप से हमारे लिए एक स्ट्रिंग के लिए इसे बदलना होगा. या हम बस स्वयं स्ट्रिंग में चर डालने के लिए दोहरे उद्धरण चिह्नों का उपयोग कर सकते हैं. हम $ एस कह सकते हैं = "एन $ n";. अब $ एस के मूल्य 'एन 5' हो जाएगा. हम बजाय एक उद्धरण का उपयोग करते हैं, $ एस के रूप में = 'एन $ n है'; एस के मूल्य होगा 'एन $ n है';. हम एक उद्धरण का उपयोग करें n के मूल्य, एवजी नहीं किया जाएगा हम डबल उद्धरण का उपयोग करते हैं, लेकिन यह हो जाएगा. हम, एक स्ट्रिंग में एक सरणी के मूल्य में शामिल करने के लिए दोहरे उद्धरण चिह्नों का उपयोग करना चाहते हैं हम इस तरह सरणी के आसपास घुंघराले ब्रेसिज़ को शामिल करने की आवश्यकता होगी - $ एस = "{$ स्टाफ ['कुल']}";. चलो अब सी में एक छोटा सा टुकड़ा पर एक नज़र रखना और PHP में अनुवाद करते हैं. यहाँ, हम, एक स्ट्रिंग के पत्र छापता है कि एक समारोह बना रहे हैं प्रति पंक्ति एक चरित्र. PHP में एक ही काम करते चलो. सबसे पहले, हम हमारे PHP सीमांकक आवश्यकता होगी. हम अपने समारोह बनाते हैं हम अपनी वापसी प्रकार या अपने तर्क के प्रकार को निर्दिष्ट करने की जरूरत नहीं है. हमारे एस चर भी एक डॉलर के हस्ताक्षर के साथ शुरू होगा. PHP के strlen समारोह, हमें एक स्ट्रिंग की लंबाई देता है बस सी strlen तरह हमें एक स्ट्रिंग की लंबाई देता है. हुड के तहत हालांकि, इन कार्यों वास्तव में थोड़ा अलग हैं एक स्ट्रिंग PHP में एक निर्मित प्रकार है के बाद से. पाश 'के लिए' हमारे की वाक्य रचना एक ही है. PHP में, हम भी एक स्ट्रिंग के वर्णों का उपयोग करने के लिए सरणी संकेतन का उपयोग कर सकते हैं. हम अब स्ट्रिंग के प्रत्येक पत्र बाहर प्रिंट प्रिंट समारोह का उपयोग कर सकते हैं. PHP के प्रिंट समारोह के साथ, हम प्लेसहोल्डर्स के बारे में चिंता करने की जरूरत नहीं है - % d या% ग जैसे - हम एक स्ट्रिंग नहीं है कि एक चर बाहर मुद्रित करना चाहते हैं. इसके बजाय, हम बस, मुद्रण कार्य के लिए किसी भी प्रकार का एक चर पारित कर सकते हैं और यह एक स्ट्रिंग में कनवर्ट और प्रदर्शित किया जाएगा. और यह बात है! हम कहते हैं कि अब 'php के print.php' के साथ हमारे फ़ाइल चलाते हैं. और हम अपने सी कार्यक्रम से देखा उत्पादन है. PHP भी 'foreach' पाश नामक निर्माण का समर्थन करता है. 'Foreach' पाश, बस पाश 'के लिए' एक तरह है लेकिन यह चीजों को और अधिक पठनीय बनाने के लिए वाक्यात्मक चीनी का एक सा कहते हैं. यहाँ, हम '$ सरणी' नामक एक नई सरणी बना रहे हैं. अब हम (संख्या $ के $ सरणी), foreach कह सकते हैं, और हम $ संख्या मुद्रित कर सकते हैं. हम इस फ़ाइल को चलाते हैं - php foreach.php-हम अपनी पंक्ति में प्रत्येक संख्या देख सकते हैं. हम सी कोड लिखा था, यह अक्सर अलग फ़ाइलों में हमारे कोड को व्यवस्थित करने के लिए उपयोगी था. PHP में, हम एक ही बात कर सकते हैं. हम कहते हैं कि हम math.php नामक एक फाइल में कुछ कार्य किया है कहना. मैं, calculator.php की तरह, एक और PHP फ़ाइल में उन कार्यों का उपयोग करना चाहते हैं मैं PHP के require_once () समारोह का उपयोग कर सकते हैं. Require_once बस # शामिल की तरह है. एक फाइल करने के लिए एक रास्ता दिया है, यह अनिवार्य रूप से सामग्री को कॉपी और पेस्ट होगा वर्तमान फ़ाइल में है कि फ़ाइल की. Require_once, प्रत्येक फाइल सिर्फ एक बार मौजूदा फ़ाइल में शामिल है जो यह सुनिश्चित करता है आप एक दूसरे की आवश्यकता PHP फाइलों का एक बड़ा संग्रह है जो अगर सहायक हो सकता है. का एक उदाहरण पर एक नज़र रखना. यहाँ हम मैं एक और फ़ाइल में उपयोग करना चाहते हैं कि कार्य का एक संग्रह है. की हम उनका उपयोग कर सकते हैं पर एक नज़र रखना. लाइन 3 पर, हम math.php आवश्यकता है. '__DIR__' वर्तमान निर्देशिका का प्रतिनिधित्व एक विशेष स्थिर है math.php और calculator.php ही निर्देशिका में स्थित हैं. हम math.php आवश्यकता के बाद, हम कार्यों का उपयोग कर सकते हैं  के रूप में अगर हम calculator.php में उन्हें परिभाषित किया है. हम कहते हैं कि 'php के calculator.php' के साथ इस दौड़. महान! यह है PHP वाक्य रचना के लिए हमारे परिचय के लिए है. और अधिक जानकारी प्राप्त करने के लिए, PHP.net की जाँच करें. PHP में निर्मित कार्यों का एक बहुत कुछ किया है, और सौभाग्य से इसके प्रलेखन वास्तव में महान है. मेरा नाम टॉमी है, और इस CS50 है. [CS50.TV] ... ब्रैकेट, मैं कमरे से बाहर हूँ. अरे नहीं! यह मैं कोड में बड़े शब्दों का प्रयोग जहां पिछले वीडियो है.