>> पाटने के लिए शुरू करने के लिए क्या अपने ही अनुभव किया जा सकता है
वेब प्रोग्रामिंग के साथ, क्या मैं मैं एक दो चोरी कर लगा
उदाहरण के कि आप 50 में देखा हो सकता है
आप यह अतीत लिया या दो साल या नहीं हो सकता है
आप कुछ साल पहले ले लिया, तो
ओर बच्चे कदम हैं कि एक pyridine, अति पिछड़े वर्गों के रूप में जानते हैं
मॉडल देखें नियंत्रक, और इसका मतलब क्या है?
यह हम शायद फिर देखेंगे है शुरुआती का सिर्फ एक रास्ता है
कुछ के डिजाइन को साफ करने के लिए सॉफ्टवेयर की वेब आधारित टुकड़ा,
या यह ग्राहक की ओर हो सकता है साथ ही आधारित है, लेकिन हम इसे उपयोग करेंगे
PHP के संदर्भ में, हम शुरू कर सकते हैं ताकि
अधिक जटिल बनाने के लिए परियोजनाओं और क्रमबद्ध करें
अलग अलग प्रकार के के आवेदन के भीतर कोड;
विशेष रूप से इतना है कि जब हम पास में काम कर रहे कई लोग
एक परियोजना पर यह एक बहुत है लाइनों आकर्षित करने के लिए आसान.
तो पहले ले जाने के एक एक suboptimal रास्ते पर देखने के लिए
के कुछ को लागू करने.
मैं एक सुपर बनाना चाहते थे मान लीजिए 50 के लिए सरल पाठ्यक्रम वेबसाइट
या किसी अन्य वर्ग, और उस वर्ग चीजें है
व्याख्यान और एक पाठ्यक्रम की तरह.
मैं एक तरह से कुछ कर सकता है मेरे पृष्ठ के शीर्ष पर H1 टैग
और साथ एक unordered सूची आदेश में ली सूची आइटम्स
बस की एक बुलेटेड सूची है मेनू विकल्पों, तो सुपर सरल.
तो हम ऐसा कैसे कर सकता है?
खैर, मुझे में चलते हैं मेरे यहां टर्मिनल विंडो,
और मैं एक पढ़ा मिल गया है कि नोटिस मुझे और हम इस कोड को कड़ी हूँ
पाठ्यक्रम की वेबसाइट पर एक बिट में,
और मुझे मिल गया है कि नोटिस सूचकांक डॉट htm - सूचकांक डॉट PHP.
तो मुझे आगे जाना है और खुला यह एक तरह से है कि, और यकीन है कि पर्याप्त
की मूर्खतापूर्ण है कि इस यहां तक ​​कि PHP बुलाया
क्योंकि मेरे पास एक php टिप्पणी है
और फिर सब कुछ सिर्फ कच्चे HTML कोड है.
लेकिन फिर यह संस्करण शून्य है
तो दिशा में एक कदम अधिक दिलचस्प कुछ,
लेकिन मैं कड़ी मेहनत CS50 कोडित है नोटिस शीर्षक के रूप में, H1 में CS50,
और अब मेरे पास है व्याख्यान लिंक,
अब मैं पाठ्यक्रम कड़ी है.
सब ठीक है, ताकि न करता सभी कि अनुचित लगते
आप की तरह एक लिंक का पालन करें जब तक व्याख्यान, और आप का एहसास
सब ठीक है यह अलग बात है कि सामग्री लेकिन यह एक तरह से है
एक ही बात की; यह एक शीर्षक है पेज और unordered सूची का.
मैं से सप्ताह शून्य क्लिक करें पिछले साल, और यह एक तरह से है
एक ही बात की, एक H1 टैग और एक unordered सूची
और फिर अंत में मैं क्लिक करें यह है, और मैं कुछ पत्ती को मिलता है,
से स्लाइड्स जो है उस विशेष व्याख्यान.
तो मुझे कुछ कहता है मैं चापलूसी के बारे में हूँ.
मैं व्याख्यान ऊपर खुला डॉट PHP नोटिस
यह बहुत ज्यादा प्रतिलिपि और है कि पिछले फ़ाइल से पेस्ट;
मैं अभी तक शीर्षक बदला H1, और इन कड़ियों क्या कर रहे हैं.
इससे भी बदतर अभी तक, मैं जाओ सप्ताह में शून्य डॉट पीएचपी,
यह एक ही कॉपी पेस्ट का काम है
बस थोड़ा के साथ सामग्री tweaked.
तो निश्चित रूप से एक नहीं है सुधार करने के लिए यहाँ अवसर,
और निश्चित रूप से यह करना चाहिए अंगूठे का एक अच्छा शासन हो;
किसी भी समय आप महसूस अपने आप को कॉपी
और कुछ चिपकाने अधिक, एक बार हो सकता है की तुलना में
लाल झंडे चाहिए उम्मीद है कि दूर जाने के लिए शुरू करते हैं.
लेकिन हम कैसे जाते हो इस सुधार के बारे में?
खैर, वहाँ कुछ तरीके हैं, और आप उपयोग कर सकते तकनीक
PHP में साथ विकसित किया है समय है, लेकिन यह एक कोशिश करते हैं.
, मुझे संस्करण एक में चलते हैं इस बात का तो अगले चलना,
और मुझे करने की कोशिश करते हैं इसे थोड़ा ऊपर साफ.
ठीक है, में से एक है PHP सरल तंत्र
इस समस्या को हल करने के लिए है पुराने स्कूल समारोह की आवश्यकता होती है,
जो बहुत ज्यादा एक प्रतिलिपि करता है और इस सामग्री का पेस्ट
यहीं कुछ फाइल की, जैसे सी, शामिल है तेज
और अन्य भाषाओं बहुत समान निर्माणों.
तो यह एक छोटे से लग रहा है अजीब अब,
यह निश्चित रूप से नहीं है एक देख वेब पेज को पूरा,
लेकिन मुमकिन है क्या हैडर डॉट PHP के अंदर.
अन्य सामान के सभी, सही, एचटीएमएल टैग, सिर टैग,
शीर्षक टैग, सब सामान कि मुख्य सार ऊपर था
यकीनन है जो पेज की बस unordered सूची,
और पाद लेख में शायद है बंद शरीर टैग की तरह,
बंद एचटीएमएल टैग; बहुत शुष्क
लेकिन duplicative सामान.
सब ठीक है, और यकीन मैं जाकर अगर पर्याप्त
हैडर डॉट PHP में यह बस है अनाथ टुकड़ा की तरह
ऊपर से, और अगर मैं पाद डॉट PHP में जाने,
यह अनाथ है नीचे से टुकड़ा,
और मैं उन्हीं का उपयोग कर रहा हूँ मेरे अन्य फ़ाइलों में टुकड़े,
व्याख्यान PHP डॉट की तरह.
ठीक है, तो क्या बेहतर है इस बारे में आप कहेंगे?
हाँ?
>> सादगी.
>> सादगी?
मैं लगता है की इस तरह पता नहीं है अब मेरे लिए बहुत डरावना है, है ना?
>> मैं बदलना चाहते थे तो अपने शीर्ष लेख, आप नहीं होगा
सभी में इसे बदलने के लिए फ़ाइलों की तरह पिछले.
तुम बस इसे बदलना अपने शीर्षक में.
>> बिल्कुल सही है, तो शायद में भावना है कि यह आसान है,
यह है के रूप में हो सकता है मैं इसे फ्रेम होगी बस, इसे अद्यतन करने के लिए आसान है.
यह शायद एक छोटे से क्लीनर है
आप अद्यतन क्योंकि यह सिर्फ एक जगह में.
इसलिए कि सुंदर है सम्मोहक; एक नकारात्मक पक्ष यह क्या हो रहा है
इस दृष्टिकोण या की क्या समस्या बनी हुई है
हम वास्तव में हल नहीं किया है कि?
हाँ?
[बंद माइक टिप्पणी]
हाँ, बिल्कुल, मेरा मतलब है, मैं कर रहा हूँ अभी भी कॉपी करने और चिपकाने;
यह एक छोटे से कम है, लेकिन मैं केवल इन फ़ाइलों में से दो की खिंचाई
और वे बहुत ज्यादा अभी भी समान देखा.
एक पर की आवश्यकता नहीं थी शीर्ष, एक, नीचे की आवश्यकता
और एक unordered बीच में सूची
खुद को अभी भी था जो एक ही संरचनात्मक रूप से.
इसके अलावा, इस नोटिस यदि मैं वास्तव में इस उदाहरण देखने,
मुझे अब एक संस्करण के लिए चलते हैं,
और मुझे मिल गया है नोटिस CS50 व्याख्यान पाठ्यक्रम.
उह ओह, CS50 सप्ताह शून्य सप्ताह एक और CS50 बुधवार, शुक्रवार
मैं एक तरह से एक कोने में कटौती की है.
था क्या - क्या थे पहले उन खिताब?
[बंद माइक टिप्पणी]
वे में व्याख्यान की तरह थे सप्ताह शून्य, जैसे यह एक तरह था
वास्तव में sexier, और यह यह करने के लिए कुछ गतिशीलता था,
और इस तरह से है - मैं कर रहा हूँ बस की तरह अब punting
और सिर्फ यह सोचते हैं कि पूरे वेबसाइट CS50 है
और यह ठीक काम करता है, लेकिन यह बात है निश्चित रूप सुरुचिपूर्ण नहीं
या के रूप में एक तरह से सीधे यह एक बार गया था के रूप में आगे,
लेकिन यह है कि समझ में आता है क्योंकि आप सूचकांक डॉट PHP पर लगता है कि
और व्याख्यान PHP डॉट और सप्ताह शून्य डॉट पीएचपी,
वे सभी शामिल हों एक ही फाइल,
तो कैसे हम इस में सुधार कर सकते हैं?
की अगली यात्रा क्या है इस कोड को शायद ऐसा करने के लिए जा रहे हैं?
[बंद माइक टिप्पणी]
हाँ, बिल्कुल, यदि ऐसा है तो - और मुझे संक्षेप
हम अनिवार्य रूप से चाहते हैं के साथ कि हैडर parameterize करने के लिए
हाँ वहाँ अभी भी इतना है कि एक हार्ड कोडित H1 टैग, लेकिन सामान
खुला, के बीच में और करीब टैग,
संभवतः गतिशील है, और कुछ और से आ रहे हैं.
शायद "स्ट्रिंग जाओ 'या बात करने के बाद प्रश्न चिह्न
यूआरएल में कहीं थे वरना, तो चलो एक नज़र रखना.
इसलिए मैं दो संस्करण में जाओ,
अब मैं उस नोटिस एक अतिरिक्त फ़ाइल है,
सहायकों PHP डॉट ऐसा लगता है.
मैं वास्तव में करने के लिए जहां पता नहीं है शुरू तो मैं शुरू करने के लिए जा रहा हूँ बस
सूचकांक में हमेशा की तरह, और अब यह थोड़ा अलग है नोटिस,
तो मैं एक की आवश्यकता लाइन मिल गया है
आवश्यकता के शीर्ष पर सहायकों PHP डॉट,
लेकिन मैं यह कह सकते हैं जो कुछ भी मैं चाहता हूँ,
लेकिन अब लाइन तीन को नोटिस एक समारोह फोन है
हैडर रेंडर करने के लिए, जो है केवल अब तक में दिलचस्प
में पारित किया जा रहा है के रूप में जाहिर है, कस्टम शीर्षक
इस विशेष पेज के लिए.
इस बीच प्रस्तुत करना नहीं है तल पर पाद लेख,
और मैं किसी की जरूरत नहीं है वहाँ parameterization यह सिर्फ है
एक पाद, लेकिन अब वहाँ लगता है
एक बेहतर करने की ओर एक कदम समाधान, हेडर लेता प्रस्तुत करना
और क्या वर्ग करना कोष्ठक उन लोगों के लिए संकेत मिलता है
जो PHP नहीं देखा है कभी या एक समय में?
[बंद माइक टिप्पणी]
हाँ, यह एक सरणी है.
यह एक साहचर्य सरणी या है चाबियाँ सहयोगियों कि एक हैश
मूल्यों के साथ; यह जावा की तरह है लिपियों, आपत्ति अंकन,
या अन्य भाषाओं, इसी तरह syntaxs.
ठीक है, तो क्या है सहायकों में PHP डॉट?
सहायकों PHP दूरसंचार विभाग में यह बात है कार्यों की सिर्फ एक जोड़ी,
शीर्ष लेख प्रस्तुत करना और पाद लेख प्रस्तुत करना.
विवरण की तो एक जोड़ी कम परिचित हैं,
सभी तथ्य की तो पहले
कि प्रस्तुत करना हैडर एक लेता है डेटा तर्क है कि जाहिरा तौर पर है
खाली सौंपा वहाँ सरणी क्या मतलब है?
क्या यह बराबरी कर मतलब है खुले ब्रैकेट कोष्ठक बंद
PHP में एक पैरामीटर के रूप में?
यह डिफ़ॉल्ट मान है.
मैं सरणी में पास नहीं है तो अगर या किसी भी तर्क
प्रस्तुत करना शीर्ष लेख या करने के लिए पाद समारोह में प्रस्तुत करना,
के रूप में मैं कर सकते हैं कम से कम विश्वास उन कार्यों के लेखक
उस डेटा न्यूनतम होगा एक खाली सरणी हो;
यह अपरिभाषित या नहीं की जाएगी झूठे, या ऐसा कुछ,
यह वास्तव में क्या होगा मैं एक डिफ़ॉल्ट रूप दे दिया.
अब यह एक प्रकार का का एक सा है लोड हो रहा है प्रतीकों में से एक hackish तरीका
आपका नाम अंतरिक्ष में इतनी बात करने के लिए,
लेकिन यह बहुत काम करता है अच्छी तरह से यह अंत की ओर
हमारी अपनी तरह के लागू करने के गरीब आदमी का templating इंजन.
सब ठीक है, का एक बहुत कुछ है अजगर रूबी के लिए बाहर वहाँ उपकरण
और तुम्हें दे कि PHP templating क्षमताओं
और कहा कि हम चाहते हैं कि वास्तव में क्या है.
हम एक है कि एक टेम्पलेट चाहते हैं H1 खुला टैग, एक H1, टैग बंद
और की तरह एक जगह बीच में धारक,
और हम उन जगह को भरने के लिए चाहते हैं इस समारोह के माध्यम से धारकों,
इसलिए इस समारोह सिर्फ इतना होता निकालने
आप निम्नलिखित देने के लिए क्षमताओं.
आप एक साहचर्य मिल गया है महत्वपूर्ण मूल्य जोड़े के साथ सरणी की
जैसे ं, निकालने के बराबर होती है एक स्थानीय चर बनाएगा
प्रभावी रूप से डॉलर के हस्ताक्षर बुलाया फू और यह बार के एक मूल्य देना
तो यह आपके साहचर्य फट महत्वपूर्ण मूल्य जोड़े से सरणी
साथ नया चर में संगत मान.
और फिर डॉट हेडर की आवश्यकता डॉट पीएचपी, पहले की तरह ही है
तो क्या हम शायद जा रहे हैं हैडर डॉट PHP के अंदर देखने के लिए?
यह शायद कि H1 टैग मिल गया है और करीब टैग; क्या हो रहा है
इसके अंदर होने के लिए शायद यह बीच में?
[बंद माइक टिप्पणी]
वास्तव में, कुछ वहाँ शायद डॉलर के हस्ताक्षर शीर्षक का उल्लेख
और यकीन है कि पर्याप्त मैं में ज़ूम इस पर मेरा शीर्षक टैग, वहाँ
अंदर मेरे H1 टैग, और वहाँ का यह एक गतिशील प्रविष्टि है
डॉलर के हस्ताक्षर शीर्षक, लेकिन की सिर्फ अच्छे उपाय के लिए,
मैं इस HTML विशेष कर रहा हूँ atrociously नामित चार्ज
समारोह, लेकिन यह बात है उपयोगी; यह क्या करता है
या क्या इसके खिलाफ की रक्षा करता है?
यह वास्तव में एक समाधान है एक खतरा करने के लिए आप इशारा कर रहे हैं;
आप हमें के नेतृत्व में होगा.
[बंद माइक टिप्पणी]
वास्तव में, तो एक दुर्भावनापूर्ण अगर उपयोगकर्ता या एक पहले से न सोचा शिकार
फिशिंग आक्रमण की एक लिंक पर क्लिक किया
कि स्वयं में एक प्रश्न चिह्न था और foo की तरह कुछ, के बराबर होती है
और फिर मूल्य foo की वास्तव में था
खुले कोष्ठक की तरह स्क्रिप्ट, बंद ब्रैकेट,
और फिर कुछ जावास्क्रिप्ट कोड;
आप इस फोन नहीं किया, तो लंबे मुख्य समारोह,
आप वास्तव में संक्रमित कर दिया जाएगा अपने वेब पेज में कच्चे HTML,
जिसका परिणाम है आप बरगलाया जा सकता है.
आप उपयोगकर्ता चकरा देनेवाला किया जा सकता है जावास्क्रिप्ट कोड को क्रियान्वित करने में
वह या वह किया था कि वास्तव में इरादा नहीं.
और भले ही आमतौर पर आप केवल अपने आप को आहत कर रहे हैं,
जैसे ही आप एक पता बेवकूफ टाइप करने के लिए जा रहा है
खुले ब्रैकेट स्क्रिप्ट में, बंद ब्रैकेट, और चेतावनी का कहना है
या ऐसा कुछ और उसे या खुद करना
कुछ अजीब परिणाम के साथ में, आप बरगलाया मिलता है
है कि एक लिंक पर क्लिक में यह एम्बेडेड में कच्चे जावास्क्रिप्ट
उस विशेषता के मान के रूप में,
आप अन्य बातों के अलावा यह कर सकते हैं किसी की कुकीज़ चोरी
एक संपत्ति है क्योंकि वहाँ दस्तावेज़ डॉट कुकी बुलाया
आपको अनुमति देता है कि जावास्क्रिप्ट में एक उपयोगकर्ता के सत्र कुकी हड़पने के लिए,
और यदि आपको याद है क्या एक सत्र अपहरण का दौरा, है
लंबी कहानी को कम, यह एक है जिस तरह से वास्तव में किसी को धोखा देना
आप वर्चुअल देने में हाथ स्टाम्प और फिर लेने
उनके फेसबुक अकाउंट से अधिक या खाते के कुछ अन्य प्रकार.
ठीक है, तो यह , एक छोटे से लंबे समय है
लेकिन यह सिर्फ इस्तेमाल कर रहा है कच्चे HTML कोड.
यह बराबर है गूंज बुलाने की
या प्रभावी ढंग से मुद्रित, और हम अनिवार्य रूप से डालने रहे हैं
कि गतिशील रूप से.
तो और क्या यहाँ रहता है?
खैर, मुझे में जाने यहाँ संस्करण में तीन,
और हम कुछ हद तक एक देखेंगे अलग -
एक ही सटीक फ़ाइल लेआउट लेकिन नोटिस
कि हम करने जा रहे हैं इस समय शीर्ष लेख और पाद सामान्यीकरण
टेम्पलेट्स, तो क्या रूप मैं उस से क्या मतलब है?
एक बात क्या है कि यहां अलग है?
क्या के बाद से बदल गया है पिछले संस्करण?
सूक्ष्म, लेकिन यह यकीनन है सिर्फ एक बेहतर क्लीनर डिजाइन.
हाँ?
[बंद माइक टिप्पणी]
हाँ, बस एक ही है मानक समारोह प्रस्तुत करना;
मैं विशेष मामला प्रस्तुत करना नहीं था शीर्ष लेख या पाद लेख प्रस्तुत करना,
दोनों जिनमें से आप अगर सहायकों से याद करते हैं, पीएचपी डॉट
हम बहुत ज्यादा समान हैं उनके नाम के लिए छोड़कर
और टेम्पलेट्स वे शामिल थे.
क्यों सिर्फ parameterize नहीं रेंडर समारोह
और एक तर्क ले, कि टेम्पलेट का नाम,
और एक दूसरे वैकल्पिक तर्क महत्वपूर्ण मूल्य जोड़े हैं कि
आप में प्लग करना चाहते हैं
इसलिए मैं अब पर लगता है कि सहायकों PHP नोटिस डॉट
मैं एक जा रहा है कि अब थोड़ा शौक़ीन.
मैं वास्तव में जाँच कर रहा हूँ करता है फ़ाइल मौजूद है और यदि ऐसा है तो आगे बढ़ो
और यह आवश्यकता होती है; बस के मामले में उपयोगकर्ता अकस्मात प्रकार
कुछ फर्जी टेम्पलेट नाम में आप एक त्रुटि फेंक नहीं करना चाहती
कार्यक्रम में हम कर सकते हैं ताकि न्यूनतम उन्हें ऐसा करने के
यहां का पक्ष लिया.
सब ठीक है, लेकिन हम कर सकते हैं यह एक कदम आगे ले?
यहाँ इस संस्करण में निम्नलिखित नोटिस.
मैं सिर्फ लोकसभा टाइप किया है, और तुरंत कूदता है क्या
बाहर कुछ अलग है.
तो दो वहाँ निर्देशिका है, , सही
और इसलिए यह अब की ओर एक कदम है क्या अंततः एक अधिक हो जाएगा
समुचित ढांचा.
इस तरह की मैला है मुझे सब फेंक करने के लिए
एक के अंदर मेरी सामग्री का सार्वजनिक रूप से सुलभ निर्देशिका
कि सचमुच जनता कहा जाता है.
और भी दुर्भाग्य से, हालांकि, चौखटे के एक बहुत,
पुराने लोगों को विशेष रूप से, और यहां तक ​​कि कुछ वेब पदों,
उनके बीच होस्ट ड्रीम, ताकतों आप अपनी फ़ाइलों के सभी डाल करने के लिए
एक के बराबर में सार्वजनिक निर्देशिका भी
अपनी फाइलें सकता है अगर डेटाबेस पासवर्ड शामिल
और उपयोगकर्ता नाम या अन्य ऐसी साख,
उस पर सब अच्छा डिजाइन नहीं है.
ज्यादा बेहतर ही लगाया जाता है
सार्वजनिक निर्देशिका में क्या बिल्कुल है
उपयोगकर्ता सुलभ हो, और बाकी सब कुछ
आप भी शामिल हो सहायकों PHP डॉट तरह,
कोई कारण नहीं है कि कि वेब एक के माध्यम से सुलभ होना चाहिए
एक यूआरएल के साथ ब्राउज़र.
यह पूरी तरह से अहानिकर हो सकता है उपयोगकर्ता शायद देखना चाहता है
जोड़े, लेकिन यह सिर्फ है जो इसके बारे में सिद्धांत,
और भगवान यह वास्तव में होता ना करे एक उपयोगकर्ता नाम या पासवर्ड है;
आप नहीं चाहते उपयोगकर्ता अकस्मात
या जानबूझकर किया जा रहा है यह उपयोग करने में सक्षम.
इसलिए हम काफी एक में नहीं कर रहे हैं यहाँ सही दृष्टिकोण,
लेकिन अब निम्नलिखित नोटिस.
सूचकांक डॉट PHP में, सूचना है कि मैं अभी भी सहायकों की आवश्यकता कर रहा हूँ,
लेकिन मैं इस तरह से यह कर रहा हूँ मैं एक तरह से सभी आयोजन कर रहा हूँ कि
फ़ाइलों की कि शामिल किया जाएगा
कहा जाता है एक subdirectory में पारंपरिक, शामिल
और फिर मैं के लिए प्रस्तुत करना कॉल शीर्षक और पहले के रूप में पाद.
इतना ही बात मैंने किया है प्रकार है
की मेरी निर्देशिकाओं पुनर्निर्माण एक छोटे से अधिक गुदा होने के लिए
फ़ाइल संरचना के बारे में.
लेकिन हम अब तक जाते हैं इस पांचवें उदाहरण,
यहां नोटिस कि हम अब फ़ोल्डरों की तिकड़ी है,
और यह एक सा है पल में गुमराह
क्योंकि सादगी के लिए वर्ग की खातिर,
मैं अभी सब कुछ फेंक दिया
जॉन हार्वर्ड में सार्वजनिक निर्देशिका बस
इसलिए हम इसे माध्यम से नेविगेट कर सकते हैं एक ब्राउज़र, लेकिन नोटिस -
इस भाग की उपेक्षा बस एक पल के लिए,
मैं वहाँ में हूँ तथ्य यह है कि.
मैं तीन है कि नोटिस सबडायरेक्टरियों: सार्वजनिक,
टेम्पलेट्स, और भी शामिल है.
विचार है कि अब एक में ठीक से विन्यस्त वेब सर्वर मैं
अपाचे बताना होगा कि इस वेबसाइट सार्वजनिक रूप से सुलभ है
यहां, और कहीं नहीं फ़ाइलें.
तो तुम क्या फ़ाइल लगता है मैं अंदर देखने जा रहा हूँ
जनता की मैं रास लिखें तो क्या होगा?
कम से कम एक फ़ाइल क्या है कि वहाँ में शायद है?
[बंद माइक टिप्पणी]
ठीक सूचकांक डॉट पीएचपी, और क्या फ़ाइल स्पष्ट रूप से नहीं है
अन्य लोगों के अलावा वहाँ में?
सहायकों पीएचपी, हेडर डॉट जैसा डॉट पीएचपी, पाद डॉट PHP;
टुकड़े के सभी, कार्यक्षमता के सभी
कि वास्तव में जरूरत नहीं है सार्वजनिक रूप से सुलभ हो,
यह प्रयोग करने योग्य होने की जरूरत फ़ाइलों द्वारा
, सार्वजनिक रूप से सुलभ हैं लेकिन वे खुद को,
कोई उपयोगकर्ता को देखने या गायकगण करने की जरूरत है सहायकों के लिए एक यूआरएल PHP डॉट.
मैं जाने के बजाय अगर ध्यान दें कि
में नहीं है शामिल सहायकों PHP डॉट,
और मैं टेम्पलेट्स में जाओ,
वहाँ पाद है और डॉट PHP हैडर.
सच कहूँ तो, मैं डाल सकता है एक ही निर्देशिका में उन्हें,
लेकिन मैं बनने की कोशिश कर रहा हूँ और भी फाइलें रखने के बारे में अधिक गुदा
बस की तरह कर रहे हैं कि स्थिर टेम्पलेट्स अलग
कार्यात्मक फाइलों से सहायकों PHP डॉट तरह,
और मैं सिर्फ कुछ का पालन कर रहा हूँ काफी आम सम्मेलनों
निर्देशिकाओं बुला शामिल है और टेम्पलेट्स.
इतना ही बात है कि बदला तो फिर पथ है.
हम सूचना के यहाँ जाना है मैं अब सिर्फ है कि
एक रिश्तेदार निर्देशिका में शामिल करने के लिए,
डॉट डॉट स्लेश शामिल सहायकों PHP डॉट,
या मैं एक छोटे से अधिक हो सकता है वास्तव में उचित और कुछ करो
इस तरह, PHP और एक बहुत
भाषा का है इन विशेष चिह्न
उस का प्रतिनिधित्व वर्तमान फ़ाइल की निर्देशिका,
इसलिए अंडरस्कोर dir अंडरस्कोर का प्रतिनिधित्व करता है अंडरस्कोर अंडरस्कोर
जो कुछ निर्देशिका इस फाइल की है,
और तो तुम सिर्फ जुटना अगर डॉट ऑपरेटर के साथ, कि,
कि प्राप्त होगा एक ही परिणाम,
और एक छोटे से अधिक हो जाता है मजबूत आपको मिल सकता है क्योंकि
रिश्तेदार के साथ स्थितियों में निर्देशिकाओं सिर्फ डॉट कह रहे थे
या डॉट डॉट वास्तव में कर सकते हैं गलत जगह पर ले,
तो यह हो जाता है एक छोटे से अधिक मजबूत.
ठीक है, तो क्या हालांकि रहता है?
क्या आप अभी भी इस बारे में पसंद नहीं?
क्या सुधार किया जा सकता है और आप पहले मुझे लगता है कि इस पर टिप्पणी की
कुछ मुद्दों पर अभी भी वहाँ है कि?
[बंद माइक टिप्पणी]
ठीक है, निश्चित रूप से हमारे पास नहीं है साइटों की तरह लेखन शुरू करने के लिए
कि ठीक है, इस तरह दिखेगा?
यह महसूस नहीं करता यह सब बहुत बेहतर है,
वहाँ अभी भी कॉपी पेस्ट.
मैं अब भी है शीर्ष पर लाइन की आवश्यकता होती है.
मैं अभी भी प्रस्तुत करना है हैडर पाद लेख प्रस्तुत करना.
दोहराव का एक बहुत कुछ है.
हाँ?
[बंद माइक टिप्पणी]
हाँ, बिल्कुल, तो हम एक ले लिया है बंटवारे के आधार पर क्रमबद्ध दिशा में कदम
से "सी" अप "वी" तो MVC मॉडल देखें नियंत्रक है;
नियंत्रक की तरह है आवेदन के दिमाग.
मॉडल डेटा हो जाता है या कुछ साझा कार्यक्षमता,
और देखें हो जाता है सौंदर्यशास्त्र, टेम्पलेट,
इसलिए हम दिशा में एक कदम उठाया है "वी" से "सी" को अलग
अब हम कम से कम है क्योंकि इस टेम्पलेट के निर्देशिका,
लेकिन वहाँ भी हम अनिवार्य फ़ाइल प्रति एक नियंत्रक है.
वहाँ ऐसा नहीं दिखता है ज्यादा तर्क, यहाँ पर जा रहा
लेकिन सूचकांक डॉट PHP है प्रभावी रूप से एक नियंत्रक.
आप एक यूआरएल पर जाएँ और जब सूचकांक डॉट PHP में समाप्त
तर्क है कि सभी पेज सही है कि लागू करता है
सूचकांक डॉट पीएचपी, और में व्याख्यान के लिए एक ही PHP डॉट.
सप्ताह शून्य डॉट PHP के लिए एक ही.
तो हम किस तरह की strone किया है हमारी सभी जगह पर तर्क,
और यह की तरह लगता है इस लिए नहीं जा रहा है
हम एक बार बहुत अच्छी तरह पैमाने पर करने के लिए नहीं चार लेकिन चालीस पन्नों है
हर पेज के साथ शुरू होता है मुझे एक पुराने संस्करण को कॉपी
फ़ाइल की और बस कुछ tweaking
इसके अंदर सामग्री का.
इसलिए हम केवल ले लिया है इस ओर एक कदम है,
और उपकरणों में से एक हम मिलवा देंगे
बुधवार को एक "Laravel" कहा जाता framer
और यह बहुत है लोकप्रिय PHP रूपरेखा,
अन्य लोगों को "Fuelphp." शामिल
एक पुराने एक है "Codeigniter." कहा जाता है
कहा जाता है एक है "केक."
कहा जाता है एक है "सिम्फनी."
मेरा मतलब है अगर आप गूगल PHP चौखटे,
एक नृशंस वहाँ जैसे चौखटे की संख्या
लोगों को कार्यान्वित किया है कि कि.
Laravel में से एक है अधिक ऊपर और comers;
यह क्लीनर में से एक है लोगों को, और आप पाएंगे
कि अंततः यह मदद करता है आप काफी थोड़ा बचा
भले ही वहाँ समय की एक सीखने की अवस्था का एक सा है,
लेकिन हम मार्गदर्शन करेंगे कि बुधवार को तुम पर.
इसके अलावा, हम से मिलवा देंगे क्या एक "ORM." कहा जाता है
इस मामले में, हम इस्तेमाल करेंगे आता है कि कुछ
इस ढांचे के साथ Laravel कहा जाता है.
यह "वाक्पटु" कहा जाता है और है इस कोड की सिर्फ एक परत है
कि दूसरे के बीच आप की अनुमति देता है बातें डेटाबेस के लिए बात करते हैं.
और यहाँ भी, मुझे चोरी एक उदाहरण है कि हाल ही में या तो है
या के लिए एक विपर्ययण 50 से आप में से कुछ.
आप 50 से लेते हैं, और अगर किया तुम ", CS50 वित्त" किया
आप फ़ाइलों को याद कर सकते हैं कि आप देखो कि लिखने या दुबारा लिखा
इस तरह, इस लॉगिन था डॉट पीएचपी, और समय पर,
खासकर जब से हम बहुत समय खर्च नहीं किया
पर जल्दी PHP बुनियादी बातों पर
यह अपने आप हो सकता है काफी चुनौतीपूर्ण हो गया,
और इसलिए हम वास्तव में, किया डिजाइन सरल करने के लिए प्रयास करें.
हम वास्तव में 'एम' को अलग नहीं किया था "सी" से "वी" से है कि बहुत सारे
समस्याओं के लिए कि "सात CS50 वित्त,"
लेकिन एक बात नोटिस उम्मीद है कि शुरू कर देना चाहिए
जल्द ही आप गलत रगड़ना इस तरह, कुछ इस तरह है.
मेरा मतलब है, न केवल यह था डॉट PHP में एक नियंत्रक लॉग ऑन करें.
यह भी सीधे बात कर रहा था
एक डेटाबेस के लिए विशेष रूप से नहीं जा रहा है जिसके उपयोग से अगली कड़ी,
बहुत अच्छी तरह से पैमाने पर करने के लिए जब आप एक साथ काम करने के लिए शुरू
या दो या तीन साथी.
उदाहरण के लिए, एक की अगर भागीदारों जिम्मेदार है
आपके बनाने के लिए डेटाबेस तालिकाओं और आने वाले
अपने अनुक्रमित के साथ ऊपर और लगाना
कुंजी क्या किया जाना चाहिए बाहर, प्राथमिक कुंजी, विदेशी कुंजी,
और यह सब कुछ, पर निर्णय लेने से तालिका नाम और है कि सब के सब.
अब आप दूसरे व्यक्ति में समूह सभी जानते करने की जरूरत है
डिजाइन निर्णय का वह या वह बना दिया है, और अब आप की जरूरत
मुश्किल कोड को उन निर्णयों आपकी फ़ाइल में, वह तो अब
या वह सुंदर है बहुत विवश
फिर कभी नहीं बदल करने के लिए उन तालिका नाम.
फिर कभी बदलने के लिए उन दायर नामों
आप को सूचित किए बिना.
इसके अलावा, आप वास्तव में नहीं कर सकते आसानी से एक ही फाइल पर काम
टकराने के बिना एक दूसरे के साथ अगर वह
या वह लगातार है नाम बदलने,
और आप पुरानी है इसके आगे के संस्करणों और,
तो यह सिर्फ आमंत्रित कर रही है बहुत सारे और सिर दर्द की बहुत सारी.
इसके अलावा, हम करेंगे के रूप में लंबे समय से पहले देखते हैं,
आप की जरूरत नहीं थी, भले ही
विशेष रूप से ऐसा करने के लिए यहाँ परिष्कृत प्रश्नों,
आप कई शुरू होने से एक बार टेबल, दो टेबल, तीन, पांच,
दस एक MySQL में तालिकाओं या आम तौर पर एक संबंधपरक डेटाबेस,
आप उन तालिकाओं में शामिल होने के लिए है अक्सर परिचित हैं, और आपके पास
से डेटा गठबंधन करने के लिए दूसरे के साथ एक,
और स्पष्ट रूप से अपनी अगली कड़ी प्रश्नों अब, और लंबे समय तक पाने के लिए शुरू,
और अब, और अधिक जटिल है, और यह बस शुरू होता है
एक बहुत आसान प्राप्त करने के लिए गलतियों को बनाने के लिए
और यह एक बहुत कठिन करने के लिए कुछ ठीक हो जाओ.
और जैसे इतना उपकरण वाक्पटु और ORM जा रहा है
हमें हमारे डेटा मॉडल मदद करने के लिए यह भी प्रभावी ढंग से हो रहा है
कोड उत्पन्न करने के लिए कि हम डेटाबेस क्वेरी शुरू करने की जरूरत
अधिक परिष्कृत तरीके में.
तो अगर आप एक प्राथमिक कुंजी मिल गया है यहाँ और एक विदेशी कुंजी के ऊपर
यहाँ पर, तुम सब की ज़रूरत ऐसा करने के लिए कि ORM सिखाना है,
रिलेशन मैपर ऑब्जेक्ट, क्या उस रिश्ते है
और यह पता लगाना होगा क्या आप के लिए निष्पादित करने के लिए प्रश्नों.
और केवल दुर्लभ में मामलों आप की क्या ज़रूरत है
जरूरी लिखने के लिए अगली कड़ी कोड अपने आप को.
आप वास्तव में चाहते हैं ठीक धुन कुछ,
लेकिन सबसे अधिक भाग के लिए, आप कर सकते हैं बस संस्थाओं का इलाज शुरू
अपने डेटाबेस में सच के रूप में वस्तुओं और न इन फ्लैट पंक्तियाँ
आप किसी भी तरह की जरूरत है कि फिर से संगठित और de मानक के अनुसार.