[عزف الموسيقى] ديفيد جيه مالان: حسنا. هذا هو CS50. هذه هي بداية من الأسبوع الثامن. وتذكرون أن توقفنا آخر مرة تبحث في لغة جديدة تماما. في الواقع، هذا هو واحد إلى حد ما وخفيفة الوزن وانها ليست حتى لغة البرمجة. انها لغة الترميز التي تسمح لنا هيكلة الواقع وجعل صفحات الويب. وعند شيء آخر بالتزامن مع this-- أو كنت قريبا، إذا ليس لديك بالفعل. نحن ذاهبون الى استخدام المتتالية أوراق الأنماط، أو المغلق، الذي هو نوع آخر من لغة مع الخصائص والقيم هذا ما سوف دعونا نفعل أشياء مثل تغيير اللون وتغيير الموقف وهذه الأنواع من القرص. ولكن اليوم وصاعدا، نبدأ التركيز على لغة أكثر قوة، لغات البرمجة مثل PHP الفعلية. لذلك كان PHP حولها لبعض الوقت. وكما سترى، و وقد صمم في المقام الأول في وقت مبكر لالفعلية تستخدم في تطوير الويب وفعلا توليد صفحات الويب. فما أنواع ملامح تفعله لغة تحتاج لجعل شبكة الإنترنت صفحات ديناميكية مع ذلك؟ وبعبارة أخرى، إذا كنت تريد توليد المحتوى dynamically-- في مثل الفيسبوك الأخبار، والذي يتغير باستمرار، أو الرسائل الفورية التي يطفو على السطح من وقت لtime-- مثل ما هو قطعة رئيسية من وظائف تحتاج في لغة البرمجة التي من شأنها أن تسمح لك حيوي طباعة معلومات جديدة إلى الشاشة؟ الطالب: الرمز. ديفيد جيه مالان: الرمز. موافق. نحن سنأخذ ذلك. قليلا أكثر دقة. أعني أننا يمكن أن تفعل هذا مع C، بصراحة. سيكون من ألم في الرقبة. But-- هذا الالتزام؟ الطالب: نعم. المتغيرات، ربما؟ ديفيد جيه مالان: متغيرات. حسنا، بالتأكيد. المتغيرات بالتأكيد يمكن أن تساعدنا للخروج. وحتى ابسط شيء. كنا في أول جدا برنامج اليوم الأول عندما قلنا في الواقع "مرحبا العالم". الطالب: طباعة. ديفيد جيه مالان: طباعة، أليس كذلك؟ الطباعة، أو printf في عالم C. لذلك كل هذا الوقت، لقد كان لدينا في موقعنا التخلص من language-- C، وحتى في particular-- الصفر لهذه المسألة أن يمكن أن تولد سلاسل من النص. حسنا، إذا HTML، كما رأينا الأسبوع الماضي، هو فقط في مجمله مجموعة من السلاسل النص ولكن مع الأقواس المفتوحة والمغلقة بين قوسين ونوع من قافية والسبب وراء ذلك، بالاضافة الى ذلك الحين يمكن لنا حقا بدء توليد صفحات الويب سواء يدويا عن طريق كتابة بها في جي إديت أو في Microsoft Word، لذلك matter-- كل ما نحتاجه هو محرر النص. أو أننا يمكن كتابة التعليمات البرمجية، لاقتراحك في وقت سابق، من شأنها أن تسمح لنا حيوي توليد HTML، وهذا ما نحن ذاهبون لبدء عمل مع PHP وفي نهاية المطاف حتى مع وجود اللغة دعا جافا سكريبت، هو استخدام لغة واحدة لتوليد أخرى. وبالفعل، هذا ما الفيسبوك والعديد والعديد من المواقع الأخرى في الواقع حيوي القيام به ل عرض معلومات جديدة لك. لذلك دعونا نبدأ مع this-- و خفي خط النظر، ولكن واحدة وهذا في الواقع قوية جدا. حتى الآن، لقد تم استخدام C، وهي اللغة المترجمة. ومجرد recap-- سريعة لتجميع لغة لها ما يميز؟ من الواضح تحتاج إلى ترجمة ذلك، ولكن ماذا يعني ذلك؟ نعم؟ الطالب: إنه يجب أن يكون تجميعها في رمز الجهاز. ديفيد جيه مالان: OK. لا بد من تجميعها إلى رمز الجهاز. لذلك كنت تأخذ الكود الخاص بك، وهو نوع من اللغة الإنجليزية مثل. قمت بتحويل هذا إلى انخفاض مستوى شيئا، وهو ما يسمى في النهاية الكائن code-- 0 و1 في. ومن هؤلاء من 0 و 1 أن وحدة المعالجة المركزية، مثل تلك التي أدلى بها إنتل، فهم في الواقع. الآن، PHP و Python و Ruby و جافا سكريبت وباقات من الآخر لا يتم تجميع اللغات اللغات لكن تفسيره لغات، مما يعني أنك مجرد كتابتها ثم كنت لا تحويلها إلى 0 و1 ل. يمكنك بدلا من مجرد توفير وقتها مدخلات البرنامج لشخص آخر، دعا مترجم. وهذا الشخص وقد تم تصميم البرنامج لفهم ما كل و كل رمز في بيثون أو PHP أو روبي أو أي عدد من لغات أخرى تعني. وهكذا كل ما نحتاجه هو شيء من هذا القبيل. حتى في الواقع، انا ذاهب الى يذهب أكثر إلى الجهاز هنا، فقط في أي الإطار القديم، ونحن الذهاب إلى المضي قدما في فتح ملف يسمى، ويقول، مرحبا. الآن سابقا، وأنا قد أنقذت هذا حتى مع وجود ملحق الملف، ولكن انا ذاهب الى القيام به حتى أبسط شيء هنا. انا ذاهب الى المضي قدما والبدء في هذا الملف مع بناء الجملة هذا خفي. حتى "المستخدم، بن، الحياة الفطرية، للبيئة، فب ". هذا هو مجرد سطر واحد من التعليمات البرمجية هذا ستقول نظام التشغيل الخاص بي، تذهب تجد في المحلية الخاصة بك البيئة أيا كان ذلك، أينما PHP is-- وinterpreter-- والمضي قدما واستخدام هذا مترجم لتفسير التعليمة البرمجية التالية. الآن، وهذا هو نوع من سمة قبيحة من PHP. ولكن في هذه اللغة، أي مرة كنت أكتب كود PHP، تحتاج إلى أن يكون واحد من هذه قبيحة علامات ترسيم بداية PHP لديك code-- <؟ PHP. ولكن تحت ذلك، أستطيع أن أفعل شيئا الآن بسيطة جدا، مثل printf مرحبا فاصلة العالم مائل ن قريب الاقتباس، وقوس إغلاق. وبعد ذلك فقط من أجل الخير التدبير، انا ذاهب على المضي قدما وعلى مقربة بي PHP علامة هنا بحيث يبدو كل شيء لطيف المطبوعة جدا. وبمجرد النقر فوق حفظ، جي إديت ذكي بما فيه الكفاية في الواقع لننظر إلى أن الخط الأول للغاية و ندرك، أوه، كنت تكتب كود PHP. اسمحوا لي تسليط الضوء على بناء الجملة مع الألوان هنا بحيث يقف خروج أكثر من ذلك بقليل. ولكن الآن انا ذاهب الى الذهاب وصولا إلى إطار محطة بي. انا تكبير. كان يسمى هذا البرنامج "مرحبا" لذلك أنا ذاهب الى القيام مائل دوت مرحبا، ولكن تم رفض الإذن. وباش. سمعنا فعلا من ذلك قبل أسابيع شيء زوجين في سياق Shellshock، واحدة من تلك الحشرات. ولكن تم رفض الإذن شهدنا من قبل، ربما في سياق مختلف. لا يتذكر أحد كيف هل يمكن إصلاح شيء حيث تم رفض الإذن مثل هذا؟ ما هو الأمر، على الأقل؟ الطالب: CHMOD. ديفيد جيه مالان: نعم، شمود، لتغيير وضع ملف. وستحصل كل من يستخدم ل هذا الاسبوع القادم مع مشكلة اللاحقة مجموعة. ولكن الآن، انا ذاهب الى تغيير وضع لا تكون قابلة للقراءة، ولكن لاعطاء الجميع executeability الامتيازات، والقدرة لتشغيل هذا الملف. وانا ذاهب الى تعيين هذا إلى ملف مرحبا. لو كنت الآن القيام مائل دوت مرحبا دخول، كنت ترى، في الواقع، برنامجي، مرحبا العالم. وماذا فعلت أنا خطوة تخطي واضح تماما؟ تجميع. لذلك أنا فقط يتعارض هذا البرنامج بكل بساطة. واتضح يمكنك القيام بذلك مع الكثير من تركيب يذكرنا C. اسمحوا لي أن أذهب إلى رمز في اليوم، التي أضع في بلدي دليل عشقتك هنا، لأسباب حقيقية سنعود ل. وانا ذاهب للذهاب إلى، دعنا نقول، الشروط 1. وسترى هنا، أولا و قبل كل شيء، في مجمله مجموعة من التعليقات. ولكن هذا هو الواقع إعادة إنشاء في PHP برنامج فعلنا في الأسبوع دعا أحد الشروط 1.C حيث الغرض في الحياة لهذا البرنامج على ما يبدو أن أسأل المستخدم للحصول على عدد صحيح والقيام بعد ذلك بعض رقيق تحليل على ذلك حيث أقول لكم إذا كان إيجابيا أو سالبة أو تساوي الصفر. وأحمل هذا الأمر فقط لأنه، ربما باستثناء واحد التفاصيل قليلا، و انها يمكن تمييزه حتى الآن من C. ما هي ميزة واحدة هنا ربما يقفز في لكم ومختلفة قليلا؟ ربما أمرين. نعم؟ الطالب: الدولار علامة ن؟ ديفيد جيه مالان: نعم. حتى علامة الدولار ن موجودا. وعلامات الدولار، و سنرى، ذاهبون أن يكون الإصلاح إلى بداية أي متغير في PHP. انها جيدة وجيدة في bad-- أنه نوع من الواضح ما متغير، وسوء في أنه بعد شيء آخر لكتابة. وهناك واحد آخر شيء لدينا ليست واردة شهدت، على الأقل هذا الإملاء. نعم؟ الطالب: ريدلاين. ديفيد جيه مالان: ريدلاين. ريدلاين لم نر، في حد ذاته، في C، على الرغم من أن هناك شيئا موجودا ما شابه ذلك، ولكن استخدمنا getstring، وهذا هو نظيرتها. حتى إذا ذهبت إلى هذا الدليل، الذي صادف أن يكون، كما ساوضح في قليلا في بلدي عشقتك دليل ومصدر بلدي دليل، وأنا نمضي قدما ونفعل مائل نقطة conditions-- whoops-- نقطة مائل الشروط 1، فسوف نرى، مرة أخرى، نفس إذن issue-- رفض. لذلك اسمحوا لي في التكبير والقيام شمود زائد x على شروط وظروف مائل نقطة. أود صحيح، من فضلك، 50. ونحن يمكن أن تلعب هذه اللعبة طوال اليوم. انها سوف تتصرف تماما كما فعلت في أسبوع واحد. موافق لذلك ليس كل ما يختلف، إلا ليس فقط أن قليلا طفيف من بناء الجملة، ولكن في الجزء العلوي، وأنا مرة أخرى وكان هذا الخط الذي سمح لي لخلق شيء يبدو وكأنه برنامج C يسمى مرحبا، دعت الظروف 1. ولكنها ليست 0، ومنها أنا التنفيذ مباشرة. انها بدلا من ذلك تشغيل هذا مترجم اسمه يحدث أن تكون مطابقة للغة. ويسمى البرنامج PHP، وقانون بلدي أقل من سطر واحد يتم تمريرها إلى ذلك. يمكننا القيام به آخر بسيط إلى حد ما مثلا تذكر شيئا فعلنا قبل اسابيع. مرة أخرى، هذا هو نوع من قطعة التعسفية من التعليمات البرمجية على ما يبدو أن يفعله ما عند تشغيله؟ ما هذا يحدث لطباعة، ويفترض؟ لذلك في البداية على خط 16، انها سأقول x هو الآن 2، على الأرجح. ٪ د هو نفسه كما قلت دولار لprintf. حتى ذلك الحين انها التكعيب، وزارة النقل، وزارة النقل، وزارة النقل، في خط 17. ثم يبطن 18 يظهر استدعاء دالة مكعبة. وحيث مكعبة محددة؟ حسنا، يبدو في خط 25، ولهذا ليس كل ما مختلف. أنا عندي بعض التعليقات أعلاه ذلك، ولكن بالنسبة للجزء الأكبر، انها واضحة إلى حد ما ترقية أو تحويل من برنامج C إلى إصدار PHP. ولكن هناك الآن اثنين من الخلافات التي ربما ينبغي القفز. ما هو آخر مختلف عن الطريقة التي قد أكتب هذا البرنامج في نفس C؟ الطالب: [غير مسموع]. ديفيد جيه مالان: هناك أي نموذج حتى أعلى. PHP-- ذلك وبصراحة، و الكثير من languages-- الحديثة هي أذكى كثيرا وأكثر فائدة من C المجمعين في أنك يمكن وضع وظيفة هنا، يمكنك وضع وظيفة إلى هنا، والمترجم هو ذاهب هل لصالح القراءة الملف بأكمله قبل أن يقرر أن بعض من وظيفة لا وجود لها. حتى التحسينات طيبة بعد سنوات. ولكن هناك أيضا شيء آخر مختلفا أو غائبة هنا. نعم؟ الطالب: [غير مسموع]. ديفيد جيه مالان: ليس لدينا ل يعلن أنواع من المتغيرات، لذلك سنرى قبل فترة طويلة أن هناك أنواع مختلفة في PHP، ولكنك لا تحتاج إلى تحديد لهم، وهو أيضا من الخير والشر. وهناك واحد في عداد المفقودين شيء آخر. الطالب: لا يوجد المكتبات. ديفيد جيه مالان: لا يوجد المكتبات. حسنا، هذا لطيف. نحصل على الكثير من خارج منطقة الجزاء. حتى لا يكون هناك في الواقع أكثر بكثير كانت الأمور مختلفة مما كنت اعتقد. ماذا عن الطريقة مرة أخرى؟ ما هذا؟ أقول ذلك مرة أخرى؟ الطالب: المؤشر. ديفيد جيه مالان: لا مؤشرات. حسنا، على الأقل في هذا المثال، لا. هذا هو عادل. لذلك لا توجد مؤشرات في الواقع PHP بشكل عام. هناك شيء يسمى المراجع، لكننا لن تنفق الكثير من الوقت هناك. وماذا بعد؟ الطالب: رئيسي. ديفيد جيه مالان: رئيسي. لذلك كان هذا في بيجي كنت أفكر في. لاحظ ليس هناك نقطة الدخول الرئيسية. يمكنك ببساطة البدء في كتابة التعليمات البرمجية. وهذا هو في الواقع سيكون من المفيد عندما كنا الانتقال لحظات باستخدام الواقع هذه اللغة نفسها لشبكة الإنترنت، البرمجة، ونحن لا تريد أن يكون نقطة دخول واحدة فقط. نحن قد تريد أن يكون لها مجموعة من عناوين المواقع، وحفنة من الملفات المختلفة كل أخذ في إدخال المستخدم وإنتاج المخرجات. ولكن هنا هو المثبط للهمم جدا المثال الذي وعدت المرة الأخيرة، وهي في هذا المجلد هنا، أخطاء إملائية. حتى في هذا الملف سبيلر، ونحن لن تنفق الكثير من الوقت، هناك أساسا porting-- P-O-R-T. انها مجرد كلمة معينة عندما، على سبيل المثال، تحويل من لغة واحدة إلى آخر يدويا عادة. هذا هو ترقية من جهاز الكمبيوتر نسخة من سبيلر من PSET 5. وحاولت أساسا لتحويل ذلك سطرا سطرا بأكبر قدر ما أستطيع. لذلك إذا كنت تحب هذا النوع من الشيء، هو في الواقع يستحق في بعض نقطة سحب ما يصل لهم على حد سواء جنبا إلى الجانب ورؤية ما هو نفسه وما هو مختلف. ولكنها جميلة تشبه الرتق. إذا كنت تتذكر ما سبيلر حتى تبدو وكأنها، حتى لو لم يكن لديك لتغيير هذا الملف، انها جميلة مماثلة هيكليا مع بضع من التغييرات هنا وهناك. لذلك هذا هو فقط ليقول انه جميلة واضحة لتحويل سبيلر من C إلى PHP. ولكن في القاموس، هناك شيء أكثر إلحاحا. اسمحوا لي أن تمضي قدما وخلق ملفي dictionary.php الخاصة. هكذا تختلف قليلا في ذلك سنقوم نسميها فب بدلا من .C. لأن هذا هو ملف PHP، و do-- annoyingly-- قليلا ديك لبدء تشغيل الملف مع علامة PHP من هذا القبيل. وانا ذاهب الى المضي قدما وتحديد عدد قليل من الوظائف. دعا وظيفة الشيك، الذي هو سيستغرق في كلمة واحدة مثل قبل. ولكن هذه الحجة ل ستكون لدينا الدولار التوقيع لأننا، مرة أخرى، وذلك باستخدام PHP. وظيفة أخرى من كان dictionary.c الحمل واستغرق في اسم القاموس، ولذا فإنني سوف تحصل على تلك الوظيفة على استعداد للذهاب. كان واحد آخر في dictionary.c ماذا؟ كان حجم واحد من اجمل منها، في الأقل إذا كنت تحفظ بعض المتغير حولها. حتى حجم له فقط لإرجاع متغير. وبعد ذلك كان هناك تفريغ. لذلك كانت هناك هذه الأربعة وظائف في مشكلة تعيين 5 إن كنت في حاجة إلى تنفيذ مع بعض بنية البيانات أو الهياكل. لذلك أنا وعدت بأن في PHP، يمكن أن نعلن جدول تجزئة، على سبيل المثال، كل ذلك بسهولة أكبر. في الواقع، إذا أريد جدول تجزئة، أنا ذاهب لمجرد الذهاب من هذا القبيل وهناك جدول التجزئة بلدي. وهذه هي المذكرة، المثبط للهمم، أن توقفنا عن المرة السابقة. وأنت تعرف ماذا، إذا أردت متغير الحجم، وأيضا، هذا واحد ليست كل التي تختلف عن C، ولكن انا ذاهب الى المضي قدما ونفعل ذلك. وتلاحظ أي نوع البيانات. وسوف أعود لاحقا و في الواقع إضافة بعض التعليقات هنا. ولكن ماذا عن الحمل؟ إذا القاموس علامة الدولار هو اسم الملف الخاص بي وأنا فعلا تريد تحميل الكلمات في هذا الجدول الآن، يمكنني القيام به في الواقع شيء بسيط إلى حد ما. One-- وهذا هو minorly annoying-- في PHP، لديك لتحديد داخل من وظيفة إذا كنت تريد الوصول إلى بعض عالمية متغير وهذا ما يعرف في الخارج. ولكن هذا ليس خاصة مثيرة للاهتمام في الوقت الحالي. ما هو أكثر إثارة للاهتمام هو ذلك لكل بناء التي ذكرتها في المرة السابقة. واتضح أن لديه وظيفة PHP دعا ملف هدفها في الحياة هو لفتح ملف وقراءة في كل من خطوطها في صفيف وتسليمها إلى. وهو ما يعني أستطيع أن أفعل ذلك القاموس أن الآن بشكل فعال عندما أدعو الملف، هذا هو الذهاب الى تسليم لي عودة مجموعة من الكلمات من الملف. هذا ليس كل شيء على ما يرام. فإنها ما تزال مستمرة لتكون خط من الكلمات، وهو أمر خطي. ولكن أستطيع أن أمضي قدما وتكرار على كل هذه الكلمات باستخدام أن جملة شاهدنا آخر مرة لفترة وجيزة. وسترى أنها أكثر في PSET القادم. ولكن الآن لدي حلقة بالتكرار على كل كلمة في القاموس. وعلى كل تكرار، أذكر أنا استدعاء الكلمة الحالية "كلمة". وكل ذلك يجري اتخاذها ل وضع كلمة في القاموس ستكون كلمة تخمين "صحيح". هذا هو بلدي وظيفة إدراج. هذا هو بلدي وظيفة الحمل لقاموسي. الآن حان نوعا من الغش، لأن أنت تعرف ماذا، هناك في الواقع ن مائل في نهاية الكلمات أنني ربما ينبغي تخلص من، ولكن هذا ليس مشكلة لديه PHP والذي دعا ختم حرفيا وظيفة القطع من حرف واحد في النهاية. حتى لا مشكلة هناك. انتقلنا إلى الأمام والواقع اختصارها إلى أن مجرد هذا. والآن أود أن ربما تتبع من حجم، لذلك دعونا على الأقل القيام this-- حجم ++. أستطيع أن أفعل ذلك كما كان من قبل. ثم وهذا هو الارجح ل العمل على ما يرام، حتى أن والعودة الحقيقية. القيام به. PSET 5. [ضحك] ديفيد جيه مالان: OK. ونحن في طريقنا للقيام بذلك مرة أخرى مع PSET المقبل أيضا. فماذا عن حجم؟ حسنا، هذا هو واحد نأمل حول كما تتوقعون آخر مرة، على الرغم من أنني يجب أن نفعل هذا شيء غبي العالمي. انها مجرد قطعة أثرية من تصميم هذه اللغة. ولكن الاختيار هو قليلا أكثر إثارة للاهتمام. حتى لو مررت في الدولار التوقيع الكلمة، وأنا لأول مرة ترغب في الحصول على هذا الجدول متغير العالمي. والآن إذا أريد ل معرفة ما اذا كان كلمة هناك، أستطيع أن أقول ببساطة إذا كان صحيحا أن يتم تعيين التالية في الجدول، ثم المضي قدما والعودة صحيح. آخر، وعودة كاذبة. القيام به. النصف الآخر من PSET 5. كل الحق، لذلك مرة أخرى، وأنا قطع بضع زوايا. في الإنصاف، وربما ينبغي لي قضاء بضعة ثواني على هذا التنفيذ. وأنا ربما لا ينبغي أن نسخر كل الساعات التي وضعت على PSET كثيرا. حتى strtolower هي وظيفة. شيء الوجودية مماثلة في C، على الأقل بالنسبة للشخصيات، ولكن في PHP حصلت على نسخة سلسلة كاملة. ما يجري لإجبار كل شيء إلى صغيرة، والتي البعض منكم قد فعلت ما لcanonicalize كنت قد وضع في القاموس الخاص بك. والآن يمكنك القيام بذلك في C، أيضا. هذا له علاقة مع PHP شيء. ولكن في أي وقت لديك شرط منطقي، وكأنه شيء على الانترنت 10 هناك، وهو فقط الذهاب إلى تقييم إلى true أو كاذبة، وإذا آخر بشكل واضح يعود صحيحة أو خاطئة، ويمكنني أن ببساطة جعل هذا حقا أكثر جنسية ومجرد القيام بشيء من هذا القبيل. حتى أن هناك وظيفة الشيك الخاص بي. الصحيح، وإذا كانت منطقية بإرجاع صحيحة أو كاذبة، دعونا يعود فقط لانه على الفور. وهناك بضعة تعديلات أخرى أنا يمكن أن يجعل هنا وهناك. تفريغ Load--، بالمناسبة، أن يتم ذلك. لا علاقة هناك. لأن جميع من في الذاكرة PHP والعديد من اللغات الأخرى في الواقع تدار بالنسبة لك. لذلك بينما في C، و كنت قد تعلمت بشكل مؤلم، أي شيء malloc أو calloc أو realloc، لديك لتحرير نفسك. أي شيء FOPEN، لديك لfclose، ذلك أن الموارد يتم تحرير النهاية وأدوات مثل Valgrind لا وتلاحظ لا يشكو، وهو أمر جيد لتشغيل عليها. ولكن بالتأكيد، لا بد هناك تكون بعض الصيد، أليس كذلك؟ خلاف ذلك، نحن نوع من الضائع في مجمله مجموعة من أسابيع. ولذلك لا يوجد أي عدد من الأسباب لماذا نحن نوع من اتخاذ هذا المسار، ولكن هناك مفاضلة. الحق، كان هذا موضوعي. وذلك ما قد مفاضلة هنا يتحرك، من C إلى PHP؟ وكأننا جميعا الفوز حتى البعض بكثير من قليلا من القبح هنا أو هناك. نعم. ما هذا؟ الطالب: [غير مسموع] الذاكرة. ديفيد جيه مالان: سرعة. موافق. كذلك، كانت سرعتي سريعة جدا. أليس كذلك؟ لكن سرعة تنفيذ البرنامج؟ حسنا، هذا هو نقطة عادلة. ذلك لأنه سيحدث، فإنني مقدما ملقن يصل كل من بلدي محاولة حل واحد كان على متن الكبير كان الحل القائم على المحاولة، وعندي أن في هذا الدليل هنا. لذلك أنا في لحظة، وأنا يمكن المضي قدما و تشغيل هذا على الملك جيمس الكتاب المقدس، ضرب أدخل. وهذا هو أمل الصحيح تنفيذ في نهاية المطاف، يعطيني مرة في المجموع 0.38 ثواني لذلك مثال واحد تعسفي إلى حد ما. وإذا كنت الآن الخوض في هذا نافذة الصالة الثانية هنا حيث كنت أول فتحت جي إديت، والسماح لي بالذهاب إلى code-- اليوم الذي، مرة أخرى، في هذا الدليل here-- و اسمحوا لي أن تمضي قدما وتشغيل مدقق الإملاء. حتى مجرد أن يكون واضحا، هذه هي النسخة PHP. أنا تظهر فقط الجزء العلوي من هنا. لذلك إذا كنت تفعل سبيلر من تيلدا CS50 PSET 5 نصوص الملك جيمس، أدخل. انها لا تزال أسرع من الكتابة في C، ولكن الوقت الإجمالي هو، اشعار، 0.93، في حين بلدي كان التنفيذ استنادا C-0.38. لذلك فرق غير تافهة. وهذا هو فقط في ملف واحد. لو كنت لتشغيل اثنين برامج مقابل لوحة كبيرة ويكون في مجمله مجموعة من المدخلات اختبارها، وهذا بالتأكيد إضافة ما يصل. وإذا كان لدينا مجموعات البيانات حتى أكبر، هذا، أيضا، أن تضيف ما يصل جميع أكثر. لذلك نعم، ودفع بعض الثمن من سرعة هو الحال في الواقع. ماذا بعد؟ نعم؟ الطالب: مبلغ من استخدام ذاكرة الوصول العشوائي. ديفيد جيه مالان: مبلغ من استخدام ذاكرة الوصول العشوائي. لذلك أنا لم يعط ثانية واحدة فكرت عند كتابة هذه PHP نسخة لمدى كنت تستخدم ذاكرة. أنا تماما أن تأجيل لPHP نفسه ولمن كتب هذا البرنامج. والتي قد تكون موافق، ولكن إذا كنت فعلا فعلا يهتمون الضغط على قدر الأداء من برنامجي أو من موقع الويب الخاص بي أو الخروج من أي أداة أنا بناء، ربما PHP، في الواقع، ليست اللغة المناسبة. في واقع الأمر، وهذا هو السبب، ل المثال، فإن العديد servers-- الويب البرامج الفعلية التي تخدم حتى content-- الويب ليست مكتوبة في PHP أو في بايثون أو روبي. هي مكتوبة، مثل عليك أن تفعل الآن مع PSET 6، في C بحيث يمكنك الضغط كل شيء من الأداء للخروج منه وتمارس حقا السيطرة غرامة الحبوب خلال ما يجري تحت غطاء محرك السيارة وعدم أخذه فقط لمنح بعض أعلى هيكل البيانات على مستوى. تنظر، بعد كل شيء، أيا كان في تنفيذ PHP أن فكرة تجزئة table-- انها في الواقع أكثر ودعا سليم وarray-- النقابي هل هو أو هي لديها أي فكرة عن أي نوع المدخلات وأنت تسير لتكون وضع في هيكل؟ لذلك من الواضح أن لا، أليس كذلك؟ انها أداة عامة في أدوات هذا قدمت لمن يريد لاستخدامها، وبالتالي من المؤكد أنه لا يمكن أن يكون الأمثل في نهاية المطاف لبالضبط ما تريد القيام به. لذلك ربما الوقت اللازم لتطوير التجارة offs-- تختلف، قد تختلف الأداء، تعقيد أو استخدام الذاكرة قد تختلف. وذلك ما ستجد على نحو متزايد هو أن هناك سيكون مختلفا أدوات للتجارة. في واقع الأمر بالنسبة لغالبية عظمى من المشاريع النهائية الناس في هذه الفئة، صدقوا أو لا تصدقوا، C لن أن تكون اللغة الصحيحة للاستخدام. و في الواقع، واحدة من الوجبات السريعة في نهاية المطاف عن أي فئة من هذا القبيل هو لتحصل على التفكير، حسنا، ماذا يجب سحب قبالة على الرف عندما تريد لحل بعض المشاكل. وبالفعل، فإننا سوف عبور هذا الجسر حتى أكثر ونحن ننظر إلى لغات أخرى حتى بعد اليوم. لذلك دعونا الانتقال الآن ل ربما سياق أكثر دراية لاستخدام لغة مثل PHP. إنه أمر شائع إلى حد ما في استخدام سطر الأوامر، وكتابة النصوص كما فعلت، ولكن من أكثر من هذا بكثير شيوعا. وكان المقصود به لاستخدامها في شكل الملفات التي تنتهي عادة في .php-- لكن هذا ليس prerequisite-- أن أنفسهم توليد المحتوى على شبكة الإنترنت. لذلك اسمحوا لي المضي قدما وفتح عدد قليل أمثلة I معدة مسبقا. وهذه هي في الواقع نوع من يصدق القصص في ذلك واحد من أول الأشياء ما فعلت بنفسي بعد الانتهاء CS50، وربما، كما أعتقد، قبل سنوات CS51 هو بلدي الحجرة وأنا كانوا يساعدون لتشغيل جماعية طالبة برنامج رياضي، والتي، في ذلك الوقت، قد طالبة التسجيل في مختلف الرياضية عن طريق ملء قطعة من الورق، كما كان يسمى، والمشي عبر الفناء إلى Wigglesworth، وإسقاطه في بعض انخفاض الباب بروكتور. ثم انه أو انها تمر لهم ومن ثم البريد الإلكتروني لنا فعلا يدويا أن كنا مسجلة لبعض الرياضة. بكل وضوح، فرصة للتحسين. في هذه الأيام، قد تتحول إلى مجرد أشكال جوجل، ولكن مرة في اليوم، كان علينا أن تصل فعلا هذا for-- ولم تصل حتى أن ago-- طويلة للبرمجة اللغة التي لم PHP. في ذلك الوقت، كان عليه ما يسمى بيرل، الذي خرج من رواج منذ ذلك الحين. ولكن الفكرة هي نفسها. وأنا أساسا جلس في محاولة على ميناء بيرل ليذهب إصدارات PHP، ولكن في التنصل الكامل، لم يعط أي فكر لجماليات فقط حتى الآن. حتى هنا هو صفحة ويب. هذا هو ملف. إذا كنت في التكبير، على ما يبدو لها دعا froshim0.php فقط لأنه لدينا أولا المثال في هذه السلسلة. وتلاحظ أن لديها ما يبدو ليكون شكل HTML قبيح جدا، لكن شكل مثير للاهتمام لأنه يسمح لي لتقديم مدخلات المستخدم إلى المتصفح. الآن الوقت الماضي عندما كان لدينا نموذج، ل نحن الذين لم تقدم المعلمة الاستعلام لدينا، معلمة الصف كما كان يسمى؟ حتى لجوجل، أليس كذلك؟ نحن مسير تماما على فكرة فعل أي شيء مع هذا الإدخال. ولكن اليوم، ونحن نبدأ إنتاج المخرجات. وسلوك انا ذاهب لرؤية هي تافهة جدا هنا في البداية. ديفيد، وأنا سوف تحقق من الجنسين هنا، يقول ماثيوز هنا. لن أكون قائد الفريق. انا ذاهب الى انقر فوق تسجيل. وتلاحظ أن لديه URL تغيير لتسجيل 0.php، ثم هناك هذا النص القبيح هنا. أنا لم يعط الفكر ل تنسيق هذا. ولكن ما يثير الاهتمام هو أن ثلاثة صدرت القيم على ما يبدو في. هذا هو نوع من PHP تعادل printf-- سنرى ما يسمى حقا في bit-- أن يطبع للتو ما مرت فيه. ولذلك فإن هذا يشير إلى أن هذا الشكل كان لا يقل عن ثلاثة حقول إليها، ورأيتني اكتب لهم بالدخول. كانت واحدة باسمي، كان واحدا بين الجنسين، واحدة المهجع. وكابتن الفريق حتى لم تحصل على إرسالها إلى خادم لأنني لم تحقق من ذلك. لذلك هذا هو القول على ما يبدو، عند تقديم الأشياء على شبكة الإنترنت، فالامر لا يقتصر على URL أحيانا change-- أحيانا لا. في الواقع، وتغيير اسم الملف، ولكن ما هو غائب من URL أننا لم نرى آخر مرة مع جوجل. نعم؟ الطالب: لا سلسلة الاستعلام ديفيد جيه مالان: لا يوجد سلسلة الاستعلام. وليس هناك علامة استفهام شيء. وليس هناك علامة استفهام ف يساوي القطط، كما فعلنا في المرة السابقة. وهناك بالتأكيد لا اسم علامة استفهام يساوي ديفيد أو النوم يساوي ماثيوز، ذلك حيث أن كل ذاهب؟ حسنا، اسمحوا لي أن أعود إلى جي إديت هنا وفتح أول تلك الملفات في بلدي عشقتك، المضيف المحلي، جمهور الدليل هنا والذهاب إلى froshim0. لذلك تبين أن ما يقرب من كل من هذه الصفحة هو مجرد HTML. وهذا قد يكون غير مألوف لك، ولكن سرعان ما سوف يكون أكثر من ذلك مع PSET 6 وPSET 7 و 8 PSET. ولكن هذا هو مجرد صفحة HTML. والاشياء ويبدو أن أكثر من هنا. بصمة الذي شكل سمة العمل لديه قيمة السجل 0. لهذا السبب عندما أقدم هذا، فإنه يذهب إلى هذا الملف. ولكن الأسلوب هو آخر اليوم- مختلفة. هكذا اتضح ان هناك ما لا يقل عن طريقتين على الشبكة المستخدمة لإرسال معلومات من المتصفح على الخادم. الحصول يضعه في URL. آخر يضعه في مكان آخر. ومتى وماذا يمكن لكم فعلا تريد موقع على شبكة الانترنت لاستخدام آخر ثم بدلا للحصول على، فقط حدسي؟ أي موقع. ما هو نوع البيانات التي يجب تمريرها فقط بالاستدلال الآن عن طريق آخر بدلا أن يحصل، إذا رأيناه الاختلافات اثنين؟ الطالب: [غير مسموع] تأمين. ديفيد جيه مالان: إذا كنت تريد شيء لتكون آمنة. لذلك قد تكتب كلمة مرور في موقع على شبكة الانترنت، وبطاقة الائتمان في موقع على شبكة الانترنت من شأنه نوع من هذه دون المستوى الأمثل إذا وضعت متصفح قيمة داخل URL. لماذا؟ كنت أنظر إليها، والتي لا ويبدو أن مثل هذه الصفقة الكبيرة، لكن الاحتمالات هي أنك جميلة المشي كثيرا بعيدا عن جهاز الكمبيوتر الخاص بك أو استخدام الكمبيوتر مختبرات، وهكذا شخص آخر أو حتى في الحجرة يستطيع المشي بسهولة ونرى هذه المعلومات خاصة. عند إرسال البريد الإلكتروني عبر شبكة الإنترنت، وربما كنت لا أريد أن تنتهي البيانات حتى في URL كذلك. وهكذا هناك أي عدد من الأسباب السبب في أننا قد ترغب في وضعها هنا. والحق photos--، لا أستطيع حتى تماما تخيل كيف سيكون اتخاذ رسم، مثل JPEG، ووضعها في URL. هل يمكن أن تفعل ذلك. هناك طرق ترميز ذلك، لكنه فقط لا مباشرة من هذا القبيل. لذلك هو في الواقع التسجيل 0 مخيب جدا. كل ما يقوله هو هذا حرفيا. فإنه يطبع بها داخل بعض HTML العلامات التالية. لقد حصلت على علامة PHP هنا متداخلة داخل علامة قبل. "ما قبل" يعني مجرد نص منسق مسبقا، أحادية متباعدة، مثل آلة كاتبة. Printr هي وظيفة متكررة الطباعة. ثم هناك هذا الشيء المثير للاهتمام هنا. وسوف نعود إلى هذا لأن هناك آخرين، لكن الدولار تسطير آخر يبدو أن متغير في PHP فيها أي شيء ترسلها من متصفح إلى خادم يحصل المخزنة بالنسبة لك. وسنرى كيفية الحصول على تلك المعلومات قبل فترة طويلة. ولكن أولا، دعونا نعود ل مثال مختلف قليلا. الذهاب إلى register-- أو بدلا من ذلك، froshims1.php، والتي تبدو مختلفة قليلا. أخذت أكثر من ذلك بقليل جهد مع التنسيق، على الرغم من انها لا تزال قبيحة جدا. ولكن انا ذاهب الى المضي قدما واكتب في "ديفيد" الآن. الذكور. نحن سوف تحقق "الكابتن" هذه المرة. سنفعل ماثيوز. والتسجيل. وهذه المرة تقول، جلالة، وليس حقا. كل الحق، لذلك ما في التسجيل 1؟ اسمحوا لي ان اذهب الى السجل المفتوح 1 جلالة and--. كل الحق، لذلك هذا هو مثيرة للاهتمام، وهذا هو نقطة انطلاق نحو الآن برامج أكثر إثارة للاهتمام. لاحظ الجزء العلوي من هذا الملف يحتوي على علامة PHP وكذلك بعض التعليقات. وهذه هي، حتى الآن، الهاء لذلك دعونا مجرد الحصول على التخلص من تلك التعليقات تماما كما كنت في C. وأزعم مع هذا قطعة من التعليمات البرمجية مع تعليق أن هذا الرمز هو التحقق من صحة التقرير. كذلك، اتضح أن المتغيرات مثل علامة الدولار تأكيد آخر ل دعا غلوبالس الفائقة. انهم مثل هذه المتغيرات العالمية خاصة التي هي مجرد اومني حاليا المتاحة داخل البرنامج. ويمكنك استخدام التدوين قوس مربع إلى مؤشر الى لهم عدم استخدام أرقام مثل 0، 1، 2، 3، ولكن الكلمات الفعلية. لذلك يمكن ان يخطر لك علامة الدولار تأكيد منصب نوع من جدول تجزئة هل يمكن أن تمر على مفتاح في، والبحث كلمة بين قوسين معقوفين، وانها سوف تعطيك الخلف القيمة التي تقدم للمستخدم فعلا. PHP لديه وظيفة دعا فارغة أن مجرد تقول نعم أو لا، وهذا متغير فارغ أو لا. لدينا هذه القضبان المزدوجة، و وهو ما يعني فقط أو، كما في C. حتى في الواقع، هذا الخط هو 4 فقط قائلا إذا كان المستخدم لم يعط اسما أو لم يعط الجنس أو لم يكن إعطاء النوم، والمضي قدما في إعادة توجيه له أو لها عبر هذا الخط هنا. لذلك هذا هو خفي قليلا، ولكن هذا يعني حرفيا فقط نعود إلى هذا الموقع، لذلك القوارب المستخدم العودة إلى أي مكان أو أنها جاءت من. ولكن هذا قليلا غير مصقول في أنني مشفرة صعوبة. ولكن ماذا لو كان هذا الشرط إذا لا تقييم إلى true؟ ما إذا كان المستخدم لم تعطيني له أو اسمها والنوم والجنس؟ أنه إذا شرط للا الذهاب إلى تقييم إلى true، لذلك أنا لا تضغط على الخروج في السطر 7. فماذا يحدث؟ وهذا هو ما مثيرة للاهتمام حول PHP. يمكنك إسقاط داخل وخارج من وضع PHP، إذا جاز التعبير. إذا كنت تريد بعض التعليمات البرمجية لتنفيذ، يمكنك فتح وإغلاق علامة PHP ووضع التعليمات البرمجية هناك مثل فعلت هنا. بمجرد إغلاق العلامة PHP، الملقم هو مجرد الذهاب إلى بصق مهما كنت وضعت هناك. وبالفعل، كان هذا الجزء من التصميم الأصلي من PHP، للأفضل للأسوأ، وكان هذا خلط رمز والعلامات اللغة. وسنرى أن هذا جدا تؤول بسرعة إلى حالة من الفوضى. ولذا فإننا سوف نفعل ما هو أفضل من هذا في نهاية المطاف، ولكن فقط ملاحظة السهولة التي أنا في الواقع قادرة على تنفيذ بعض المنطق. ولكن لا يزال قليلا مخيب. دعونا فتح النسخة اثنين من Frosh الرسائل الفورية، والتي على ما يبدو تقدم لregister2.php. لذلك هذا الملف تسير فعلا للنظر نفسه تقريبا. انا ذاهب للذهاب الى Frosh الرسائل الفورية 2. ولكن في Frosh الرسائل الفورية 2 دعونا نرى ما سيحدث. ديفيد، انقر فوق زر الاختيار، و انه دعا. ماثيوز، لم نقيب. تسجيل. كنت مسجل. ليس حقا. يا الانتظار، فعلنا فقط هذا المثال، لم نحن؟ كل الحق، والوقوف من قبل. سنفعل الثلاثة. بوضوح شيئا ما حول أن يحدث مع جوجل. ونحن سوف نصل الى هناك. حتى Frosh الرسائل الفورية 3 يشبه هذا. لا يختلف. ولكن عندما أفعل ديفيد، ذكر، ماتيوس، و تسجيل، هذا الإصدار الثالث والأخير المطالبات، بكل بساطة، ل تسجل حقا. هذا النوع من غير مادي. بل أزعم مع هذا النسخة الثالثة والأخيرة لقد صوغه الآن بالضبط ما بلدي الحجرة وأنا بنيت لنظام الرصد الدولي Frosh منذ سنوات البرنامج. وكان بسيط. لم يكن هناك أي قاعدة بيانات، لا جداول البيانات إكسل. ولكن الأهم من ذلك، لم يكن هناك المزيد من الورق لأن ما فعلناه مع هذا البرنامج كان على البريد الالكتروني فعلا بروكتور، الذي كان استقبال سابقا هذه الأمور عبر النماذج. ويبدو أننا قد برمجت في هذا هذه الطريقة التي عندما يسجل شخص ما، رسائل البريد الإلكتروني حساب جون هارفارد لل proctor-- نفسه أو في هذه الحالة، جون Harvard-- بما يلي text-- "هذا الشخص المسجل فقط." هو اسم ديفيد، كابتن فارغ. بين الجنسين، ذكور؛ والنوم، ماثيوز. وذلك ما حدث هناك؟ أيضا، الملف في السؤال هنا على ما يبدو register3.php. وإذا قمت بفتح هذا، سترى كل من السلطة من التعليمات البرمجية مثل هذا وأيضا، بصراحة، وانعدام الأمن نظام مثل البريد الإلكتروني. لقد تظاهرت فقط على نحو فعال ل يكون جون هارفارد بالطريقة التالية. لدي العلامة PHP مفتوحة حتى أعلى، والتي فقط يقول هنا يأتي بعض كود PHP. إلى هنا، تبين وجود والمكتبات في PHP. انك لا تحتاج ل تشمل الملفات رأس قدر. يمكنك الحصول على أكثر مع بالوعة المطبخ، إذا جاز التعبير. ولكن هذه المرة في السطر 4، أفعل تريد مكتبة خاصة تسمى PHP الارسال، الذي هو شيء يمكن تثبيت مجانا في كثير من النظم. إلى هنا أنا التحقق من صحة تقديم فقط عن طريق فحص لم تعطي المستخدم لي اسم، والجنس، والنوم. وإذا كان الأمر كذلك، والمضي قدما و مثيل الارسال. يمكنك التفكير في هذا الأمر كونه سطر من التعليمات البرمجية التي تخصص فقط. انها مثل malloc، ولكن انها قليلا أكثر جنسية في أن أذكر لكم ليس فقط malloc وبعض العدد عام. أنت تقول أن تعطيني واحدة من هذه، أعطني واحدة جديدة من هذه. وإذا كنت قد برمجت في جافا أو C ++ أو لغات أخرى، كنت قد رأيت هذا. ولكن أقل من ذلك، إذا غير مألوف، هذا الخط يضع في البريد علامة الدولار البنية خاصة تسمى كائن له المدمج في وظائف البريد الإلكتروني. في واقع الأمر، لاحظ وبناء الجملة مشابهة. هذا ليس مؤشر في حد ذاتها. PHP يستخدم فقط بناء الجملة ذاته. هذا الخط يقول استخدام SMTP-- نقل البريد البسيط البروتوكول الذي هو مجرد بروتوكول يستخدم لإرسال البريد. هذا هو تحديد استخدام خادم SMTP هارفارد، التي في مكان ما هنا في الحرم الجامعي. هذا ما يقوله TCP رقم المنفذ لاجراء محادثات مع، وأنا فقط أحسب أن بها غوغلينغ أو بسؤال مكتب المساعدة. ثم أنه يستخدم بعض هارفارد أمن النظام على server-- الإلكتروني على الأقل لتشفير الحركة بينك وبين ذلك، على الرغم من أن أي شخص يمكن أن ترسل إلى it-- انا ذاهب لتشغيل بروتوكول TLS لحفظ هذه أمنا. ولكن هذا هو المكان الأشياء الحصول مخيف قليلا. يمكنني فقط تعسفا أقول إنني jharvard، ويمكنني فقط تعسفا البريد الإلكتروني نفسي هنا. وبعد ذلك يمكن تحديد الموضوع مع هذا الخط هنا. وهذا يبدو مجرد القبيح، ولكن هذا مجرد حفنة من سلسلة. تبين PHP لديه رمزا مفيدا عظمى، مثل بعض اللغات، المشغل نقطة، الذي يسلسل فقط حرفيا بعد سلسلة سلسلة سلسلة بعد، ولم يكن لديك لmalloc أو شخصية من إجمالي طول السلسلة. أنت فقط تفعل ذلك. وبالفعل، لأنني وصل في كل هذه الأمور مع هذه النقاط، هذا هو السبب في أنني البريد الإلكتروني أرسلت بدا كما فعلت. ثم أخيرا هنا، أنا إرسال البريد. حتى إذا كان هذا غير صحيح، أنا مجرد الذهاب للموت، وهي الوظيفة التي يطبع فقط إلى الشاشة بعض رسالة خطأ. لكنه، في الواقع، استدعاء الدالة الإرسال. خلاف ذلك، إذا كان كل هذا فشل، انها الموجهات لي هنا مرة أخرى. ولماذا أرى أن انا مسجل حقا؟ حسنا، انه حدث هنا. لذلك أنا أحمل هذا الأمر ل زوجين من الأسباب. واحد، وهذا هو بالضبط كيف إذا كنت بناء بعض المواقع للمشروع النهائي أو عن العالم الحقيقي، وهذا هو كيف يمكنك إرسال رسائل تذكير البريد الإلكتروني لعملائك أو المشتركين الخاص بك. هذه هي الطريقة التي ترسل رسائل تذكير كلمة المرور. هذا هو كيف يمكنك إرسال رسائل الناس أن لديهم الفيسبوك الجديد رسالة معلقة أو شيء من هذا القبيل. ولكنه يتحدث أيضا حقيقة أن هذا يمكن أن كان جيدا جدا من دافين أو أي شخص آخر. وأنا أقول هذا النوع من مع ابتسامة لأنني تأكد تماما ما يجري من خلال العديد من عقولكم في هذه المرحلة. ولكن هذا هو واحد من تلك افعل كما أقول، وليس كما أفعل النوع من الأشياء، لأنها تافهة ل إقامة مثل هذه الرسائل. ولكن كما كنت قد رأيت أو قراءة في قرمزي، في الآونة الأخيرة كما انها جميلة تافهة للناس تتبع اعادتهم الى بعض المنشأ. ويسألني بعض الوقت، ربما في CS50 الغداء، كيف لي أولا تعرفت عن كثب تقريبا لسنوات عديدة مجلس إد مضت عندما اكتشفت كيفية عمل الإنترنت. لذلك في حال: قليلا بعد أن قام مجلس أد. لذلك على أي حال، هناك مجموعة كاملة من غلوبالس عظمى، كما انهم تسمى هنا، واحدة منها نحن saw-- آخر تسطير علامة الدولار. هناك دعا نظيره الحصول، الذي هو فيه الاشياء من URL ينتهي الذهاب. وهناك مجموعة كاملة من الآخرين، جلسة too-- والخادم والكعكة. سنعود ل كوكي بعض وقت آخر، لكن الدورة هي نوع من باردة لأن الحق now-- حتى now-- كل ما فعلناه مع متصفح الإنترنت هو نوع من عديمي الجنسية، إذا جاز التعبير. استطيع ان اضغط حولها، والوصول الملفات الموجودة على الخادم، شيء يحدث على الشاشة، ولكن ثم إغلاق الاتصال. إنترنت إكسبلورر أو أيقونة فايرفوكس يتوقف الغزل وكنت انظر فقط ما تحتوي هذه الصفحة على شبكة الإنترنت. حتى HTTP عديم الجنسية في أن بمجرد أن يجعل اتصال، يحصل بعض البيانات، هذا كل شيء. لا مزيد من الاتصال، على عكس سكايب، عكس FACETIME، GChat خلافا، والتي يحافظ على ثابت الاتصال بالخادم. شبكة الإنترنت هو في الأساس قطع، على الرغم من أننا سوف ترى كيف قبل فترة طويلة يمكننا محاكاة الأشياء مثل الفيسبوك دردشة وGChat، التي تحافظ على illusion-- أو فعلا الحفاظ على اتصال مستمر باستخدام المزيد من التكنولوجيا الحديثة. ولكن إذا ذهبت ل، ويقول، counter.php، هذا مثال بسيط آخر، كما سنرى، أن يفكر حاليا زرت الموقع مرة الصفر. ولكن إذا كنت ببساطة إعادة تحميل الصفحة، فهو يعرف بطريقة ما كنت هنا من قبل. إذا كنت تحميل مرة أخرى، يعلم أنني كنت هنا من قبل. ومرارا وتكرارا ومرارا وتكرارا. لذلك هناك بعض زائد plussing يجري، ولكن إشعار الشيء القليل يدور أي وقت مضى لفترة وجيزة حتى أعلى وثم قطع الاتصال، حتى انها ليست مثل ولدي ثابت اتصال الأجهزة بلدي. حسنا، إذا ذهبت إلى counter.php، لاحظ كيف بسيط هو. أولا أنا أسمي هذا خاص الوظيفة التي سنقوم قريبا البدء في اتخاذ أمرا مفروغا منه دعا بداية الدورة. بدء الدورة. وجلسة هو من الآن فصاعدا فقط ستكون دلو، مثل التسوق عربة التي يمكنك وضع القيم ونوع من الثقة كمبرمج انهم ذاهبون الى هنا عندما يكون هذا المستخدم يأتي back-- الثانية في وقت لاحق، بعد ساعة، حتى بعد عام، طالما انه أو انها لا اضحا ملفات تعريف الارتباط الخاصة، كما سنرى في نهاية المطاف. والآن لدي فقط واذا كان الشرط هنا. حتى إذا كان المفتاح التالي، دعا مضادة، يتم تعيين داخل هذا السوبر global-- هذه البعثرة الجدول، إذا كنت will-- تسمى الدورة، ثم المضي قدما والاستيلاء على القيمة من التفكير session-- هذا بمثابة التسوق cart-- وتخزينه في متغير مؤقت يسمى مضادة. خلاف ذلك، إذا كانت قيمة هذا العداد لم تحدد في ما يسمى عربة التسوق، مجرد تهيئة إلى 0. أخيرا، بانخفاض هنا، اذهب ووضع مرة أخرى في عربات التسوق أو الدورة قيمة العداد +1. لذلك تبين أن هذا here-- عاء خاص التي، مرة أخرى، هو واحد من هؤلاء المرتبطة ، صفيف يمكنك صفائف مؤشر في كلمات بدلا من numbers-- استمرت حتى بعد مرور المستخدم بعيدا. مرة أخرى، سوف نعود إلى الصفحة الآن. انها كانت دقيقة أو نحو ذلك. ولكنه يتذكر أن لدي هنا منذ 19 مرات من قبل. هذه هي زيارتك 20 بلدي. وحتى هذا سيكون المفتاح ل تنفيذ أي موقع أن يتذكر إن كنت مسجلا، التي وضعت شيء الحرفي في سلة التسوق الخاصة بك لشراء أو أن لديك بعض عدد الرسائل معلقة. في أي وقت تريد تذكر المعلومات، سنرى أن PHP، مثل عدة لغات أخرى، يقدم لنا هذا الوهم الدولة على الرغم من ذلك، كما سترى في PSET 6، كما كنت تقديم طلبات HTTP من العميل إلى الخادم، وهذا كل شيء. بمجرد أن أعود ردا على ذلك، لا يوجد شيء أكثر العودة من خادم افتراضي. ولكن سنرى كيفية التغلب على ذلك. حسنا الآن، دعونا نحاول ل تنظيف هذا قليلا. شاهدنا عدد قليل أمثلة مختلفة هناك. أوه، وبوصفها جانبا، ل تلك مألوفة أو غير مألوفة، والسبب أن ذهب Frosh الرسائل الفورية سبيل المثال أبحث عن الحقيقة القبيح لslightly-- جيدا، لا يزال قليلا إلى ugly-- وإن كان لا يزال أقل قبيحة قبيحة لأن إذا نظرنا في شفرة المصدر هنا، اتضح أن لدي هذا في أعلى جدا من الملف. تبين أن ألبس الحذاء هو واحد من كثير المكتبات المتاحة بحرية الى هناك التي لم تكن موجودة لغات البرمجة دائما، ولكن لCSS أو جافا سكريبت أو HTML أو أي عدد من اللغات. وهؤلاء الناس here-- جاء أصلا من Twitter-- ديك فقط في مجمله مجموعة من الأساليب. انها ملف ضخم أن شخصا ما كتب هنا، أو شخص ما كتبت، مع مرور الوقت أن يحدد الألوان والتنسيق وغيرها بحيث يمكنني نوع من استعارة جملة من وليس من الضروري معرفة كيفية وضع صورة بلدي. وهذا أيضا مصغر بحيث يمكن لجهاز الكمبيوتر فهم ذلك، ولكن ليس بالضرورة إنسان. لذلك هذا مجرد سبب التنميق هناك تغير. ولكن دعونا نفعل الآن أفضل من حيث التصميم، لأنه إذا بقينا أسفل هذا الطريق طويل جدا، ما يحدث لدينا قانون ل حصول فوضى ومسير. لذلك دعونا نركز على هذه الأمثلة هنا. وكان آخر لهذا اليوم. حتى هنا هو فائقة بسيطة الإصدار 1.0 من موقع CS50 ل. لديها صلات فقط المحاضرات والمنهج، وانها تستخدم تلك القائمة غير مرتبة tag-- علامة UL التي استخدمناها في المرة السابقة. وإذا كان في الواقع، إذا أنا فتح الصفحة عرض المصدر، سترى أن هذا هو حقا، حقا بسيطة HTML. في واقع الأمر، حتى وإن كان هذا هو ملف PHP تحت غطاء محرك السيارة، انها لا تزال مجرد البصق من HTML فقط في الوقت الراهن. حتى إذا كنت اضغط على محاضرات و ونحن نرى هذا يحدث. وإذا كنت اضغط على أسبوع الصفر، ونحن نرى هذا. وإذا كنت اضغط على الأربعاء، نرى هذا. وكان هذا على ما يبدو PDF الشرائح من ذلك اليوم. كل ما قمت به هو الارتباط مع مرساة علامة على هذا الرابط هنا. لذلك هذا هو فقط ان نقول ان هذا هو جميلة نسخة بسيطة من موقع CS50 ل. دعونا نرى كيف انها تنفذ. إذا ذهبت إلى الدليل mvc0، سنرى بعض الملفات. هو واحد من التمهيدي، حتى إذا بعض من هذا هو سريع جدا، يمكنك فقط كزة حول أكثر مهل في وقت لاحق. وإشعار هنا هو ملف index.php. اتضح أنه إذا أنت نفسك، والإنسان، لم تحدد اسما نهائيا في عنوان URL، خادم الويب عادة يستنتج بعض الاسم الافتراضي بالنسبة لك. وهو شيء المؤشر نقطة عموما الافتراضي. ولهذا السبب قبل لحظة عندما زرت هذا الرابط هنا، لا يوجد اسم الملف، أي ملف التمديد، أي فترة في URL. عرفت فقط بطريقة أو بأخرى سحرية للبحث عن index.php. انها مجرد اتفاقية. يمكن أن يسمى أي شيء. حتى لو كنت الآن الخوض في index.php، سترى هذا، دعونا indeed-- تخلص من تعليقات هنا لأن هناك حقا شيء مثير للاهتمام لit-- هذا هو مجرد الثابت ترميز HTML. ولهذا ثابت، رغم ذلك، مع المطالبة بلدي التي يمكنك خلط HTML و PHP. لا يوجد الفعلية برمجة المنطق هنا. وغيرها من الملفات هي جميلة مجرد بكثير رتيبا كما. مجرد أسبوع واحد من الصعب ترميز عليه هنا لمدة أسبوع واحد وأسبوع واحد م ث، الاثنين والاربعاء. ثم لو تفتح الأسبوع الصفر، لاحظت انها متطابقة تقريبا. وهذا النوع من الوجبات الرئيسية. لاحظ كيف أن هذه هي زائدة عن الحاجة. هذه الملفات لا تكاد تتغير، ولكن أنا سحبت واحدة من هذه نسخ / لصق الوظائف حيث أخذت الملف-- واحد يفترض في الأسبوع zero-- نسخها عندما جاء أسبوع واحد حولها، وأنب بعض القيم. يجب أن تكون على الأرجح قادرة لنفعل ما هو أفضل من هذا. لذلك دعونا نعود إلى MVC والخوض في إصدار واحد. وتلاحظ عندي بعض الملفات، لأن ما كانت مشتركة بين جميع تلك الملفات فقط لحظة ago-- إذا أعود إلى الإصدار 0، دعونا نعود إلى المؤشر، وpostulate-- فقط مرة واحدة للتخلص من comments-- أي جزء من هذه الصفحة هو يفترض في كل واحد من الملفات؟ ما عليك سوى الاتصال بها. التي يتم تكرار خطوط ربما عبر كل هذه الصفحات؟ نعم؟ الطالب: [غير مسموع]. ديفيد جيه مالان: من 1 إلى 9. نعم، تماما. من 1 إلى 9، ربما باستثناء 8 يتغير قليلا بسبب CS50 يصبح المحاضرات أو الأسبوع الصفر أو شيء من هذا. ولكن متطابقة تقريبا. لذلك كل هذه الاشياء هي فقط نوع من نسخ ولصق. وهناك زوجين خطوط أخرى يمكنني التفكير من المحتمل أن تكون متطابقة جميع الملفات. الطالب: 12 و 13. ديفيد جيه مالان: نعم. بالتأكيد، 12، 13، و 14 على الارجح، فقط لأن الاشياء يجري على خطوط 11 و 10، وذلك على ما يبدو. لذلك دعونا ننظر إلى النسخة 1، الذي يحاول تحسين هذا. في الإصدار 1 من هذه example-- MVC سنقوم شرح ما يعنيه بعثة التحقق المشتركة في اللحظات إذا ذهبت إلى المؤشر، فإنه نوع من يبدو مربكا بعض الشيء الآن. انها ليست بهذه البساطة كما كانت من قبل. ولكن بمجرد أن تبدأ ل قراءتها بعناية، انها واضحة جدا ما تقوم به. ويبدو خط 1 خط 8 قد حلت محل كل الاشياء التي identified-- فقط على الرغم فقط لحسن التدبير، تركت ULS هناك فقط في حالة بعض لم يكن يوما لديها قائمة من الأشياء. ويتطلب ذلك هو نوع من مثل الجنيه تدرج في نسخ C. وهي والمعاجين محتويات فعال هنا في هذا الملف. حتى في header.php، كما كنت قد يستنتج من اسمها، سيكون رأس الصفحة. نوع من اليتامى هنا. انها فقط أعلى إلى ذلك، ولكن ليس هناك المزيد من المحتوى أدناه. وإذا كنت ننظر إلى تذييل وفي الوقت نفسه، الذي كان ملف آخر mentioned-- هذا واحد هو حتى أقل إثارة للاهتمام، ولكن مرة أخرى، فإنه من الشائع أن كل شيء. لذلك هذا هو تذييل الصفحة. هذا هو الرأس. هذا هو الملف الذي هو تغيير، فلماذا لا حاول عامل من القواسم المشتركة مع هذين الخطين هنا؟ لكننا يمكن تنظيف هذا حتى أبعد قليلا. انا ذاهب الى المضي قدما و فتح الإصدار الثاني حيث سنرى أن هناك ملف جديد، helpers.php. سنرى ما هو في لحظة. دعونا نذهب إلى المؤشر، كما نقطة الدخول كما كان من قبل. والآن أنا لاحظت تتطلب helpers.php، وليس رأس أو تذييل الصفحة. لكن المساعدين يشبه نوع من helpers.c وhelpers.h من PSET 2 أو PSET 3 منذ فترة طويلة عندما كنت في الواقع لم البحث والعثور عن أن PSET، وكان لديك كل من التعليمات البرمجية لفرز والبحث في ملف منفصل. هذا ما يحدث هنا. والآن خط 3 تبدو مختلفة قليلا. وانه من سطر واحد فقط. لجعل هذا أكثر واضح، وأنا يمكن فقط هل هذا يتفق أسلوبيا مع كل شيء آخر فعلناه. ولكن هذا ليس حقا تغيير الوظيفة. انها مجرد سطر واحد من التعليمات البرمجية الحقيقي. على ما يبدو، هناك وظيفة ودعا في مكان ما جعل رأس، وهذا هو المكان الأشياء الحصول قوية جدا. تلاحظ أن داخل قوسين من ما هو قطعة أخرى من جملة؟ انها على الارجح قليلا من الصعب القول، ولكن تلاحظ there's-- سوف أضع بعض الأبيض الفضاء. هناك أقواس معقوفة. وبين قوسين معقوفين رأينا قبل قليل في سياق صفائف النقابي، التي هي، مرة أخرى، مثل الجداول التجزئة. وإذا كنت تعتقد الآن إلى C، و ترتيب الحجج في وظيفة يجب أن يكون دائما هو نفسه. عليك أن تتذكر ما طلب is-- س، ص، ض أو ض، ذ، x-- وعليك أن تقدم لهم دائما في نفس الترتيب أو البحث عنها إذا كنت قد نسيت. ولكن يبدو أن هذا وسيلة ذكية من تمرير قيمة المفتاح التعسفية أزواج حيث العنوان هو اسم حجة في هذه الحالة وCS50 هو قيمته. وحقيقة أن لدي هذه الأقواس المربعة يعني هنا أن بوسعي تمر أيضا في شيء مثل الأسبوع هو 1 أو 0 أو 2 أو 3. لذلك قمنا معلمات هذه الوظيفة بطريقة أنها يمكن أن تأخذ مدخلات متعددة، ولكن الآن انها مجرد واحدة. إذا أنا الآن أذهب إلى helpers.php، تلاحظ ما تقوم به. وهذا هو قليلا وظائف جديدة لكنه الآن تأخذ فقط على الإيمان بأن هذا هو بناء الجملة التي كنت تعريف دالة في PHP. نقول لكم حرفيا وظيفة. لم تقم بتحديد عودة اكتب، وهذا ثابت مع التفصيل المتغير في وقت سابق حيث كنت لا حقا اكتب بقوة. هذا يحدد فقط هذا، افتراضيا، هذا يأخذ النقابي مجموعة كحجة. وأنت تعرف لماذا؟ إذا كان المستخدم لا يمر احد في، تفترض قيمة افتراضية. هذا هو ميزة C لايوجد بالنسبة لنا، والذي هو لطيف، لأنه الآن البيانات، حتى لو كنت لا تعطيه أي شيء، سيكون ل لكن مجموعة واحدة فارغة. وبوصفها جانبا، واستخراج فقط لا شيء غير تقليدي حيث يأخذ كل من مفاتيح من هذا مجموعة النقابي، كل الأشياء كنت قد وضعت بين قوسين معقوفين، ويخلق متغيرات للخروج منها حتى أننا يمكن أن يكون في نهاية المطاف الوصول لهم في footet.php وheader.php. هذا هو قليلا مجردة، لذلك اسمحوا لي أن أشير إلى هذه النقطة. في index.php، لاحظ أنا تمر في زوج قيمة المفتاح من عنوان بقيمة CS50. لو كنت الآن ننظر في helpers.php، تلاحظ أن RenderHeader تم استخراج البيانات التي أنا مارة في، ومن ثم تتطلب header.php. ما قمت به هو نوع من رجل فقير الآن لتنفيذ ما يلي. إذا كنت فتح header.php، لاحظ أن لدي لم يعد صعبا ترميز CS50 كلمة في هذا الملف رأس. لقد وضعت هذا باعتراف الجميع بوحشية اسمه وظيفة، أحرف خاصة HTML، في هناك. لكن لاحظ ما فعلته. أنا عندي مفتوحة HTML. وبعد ذلك يكون الرأس مفتوح وعنوان مفتوح. ثم داخل لقب مفتوحا و علامات وثيقة، ولدي القليل من كود PHP. وهذا هو لطيف ولكن بناء الجملة، وهو ما يعني مجرد صدى للخروج. وهو ما يعني حرفيا this-- صدى following-- ولكن هذا هو أكثر جنسية في الكتابة. صدى من اللقب التي تم تمريرها في. ولكن ما رأيك HTML شار خاص هو كل شيء، خاصة إذا كان لديك بعض الخبرة السابقة HTML؟ ما قد يكون حرفا خطورة تمرير لفي صفحة أين أنت توليد حيوي صفحة الويب مع رمز مثل هذا؟ اسمحوا لي ان اذهب لهذا الملف، نسخة اثنين، ومعرفة ما إذا كنت لا يمكن أن تحدث هذه. النسخة الثانية هي هذا. وتلاحظ كل شيء على ما يرام، تعمل بشكل جيد. ولكن لنفترض أن أذهب إلى index.php و أنا حددت هذا عنوان صفحتي ليس CS50. فمن تنبيه النصي قوس مفتوح مرحبا العالم، بالقرب اقتباس مفردة، قوس إغلاق، الفاصلة المنقوطة، قوس مفتوح، مائل النصي. النصي، وسنقوم نرى في نهاية المطاف، هي علامة التي يمكنك استخدامها لاستخدام آخر لغة برمجة تدعى جافا سكريبت داخل صفحة الويب. والآن نلاحظ منطق هنا. وهنا هو مفتاح يسمى العنوان. هنا هو انها قيمة طويلة مجنون الآن. ولكن إذا ذهبت إلى المساعدين page- أو بالأحرى، الصفحة رأس، ادعو هذه الوظيفة على هذا اللقب لأول مرة. حتى لو كنت الآن إعادة تحميل هذه الصفحة، I نرى هذا، والتي تبدو سخيفة، بل انها آمنة. يبدو أنه مجرد غبي. ولكن لنفترض بدلا من ذلك كنت قد نسيت هذا. وتذكروا كلماتي، وعدد غير صفرية وسوف ننسى أن تفعل هذا وستحصل على بعض كادح طالب أو صديق الخروج لك في المعرض CS50 أو مجهول في الليل بدس حولها على موقع الويب الخاص بك وأساسا حقن كود مجهول لكم في موقعك بطريقة أو بأخرى. لأنه إذا كنت ببساطة يبصقون من هنا عنوان وعنوان كذلك there--، إذا عنوان حرفيا يبدو هذا وPHP كلغة التي يمكن يبصقون خارج النص اللغات الأخرى، هذا يحدث حرفيا لاستبدال البطاقة مع بطاقة، بالطبع، ما أنا وضعت في أماكن أخرى. لذلك إن أنا الآن أذهب هنا وبعد تحميل التراجع عن آليات السلامة تلك، الآن لدي مرحبا العالم هنا. الآن هذا ليس كل شيء بهذه الضخامة ل التعامل، ولكن هل يمكن أن تفعل شيئا أكثر من ذلك بقليل خبيثة هنا، كما هناك tags-- البعض كما سنرى مرة ننفق المزيد من الوقت في JavaScript-- مثل الموقع النقطة أ href يحصل، الاقتباس، نهاية الاقتباس، HTTP business.com، ولكن على العكس من ذلك من ذلك اليوم. والآن يمكنك لحث على شبكة الإنترنت صفحة للذهاب في الواقع فورا لصفحة الويب هذه هنا. وفعلا، لا أريد حتى الذهاب إلى business.com لأنني لا أريد لمعرفة ما هو. ولكن هذا أيضا سوف يؤدي كود ليتم حقنه في هذه الصفحة. لذلك هذا هو فقط ليقول أنه على الرغم من نقوم بإدخال أوائل فائقة على بعض هذه الهياكل أكثر تعقيدا، كل شيء نحو نهايته التأكد أن التعليمات البرمجية لا يمكن استغلالها. حتى الآن النسخة الثالثة هنا. انها تحصل على القليل من مربي الحيوانات. لم أكن حقا like-- الجانب الشرج مني كان الحصول على ازعاج قليلا قبل حقيقة أن كنت قد وظيفة تسمى RenderHeader وRenderFooter التي كانت متطابقة تقريبا. لذلك خطر لي، لماذا لا أنا بالحدود هذه الوظائف في واحدة فقط تسمى تقديم، قد يستغرق والحجة الثانية مثل اسم القالب النهائي لrender-- إما رأس أو تذييل الصفحة؟ ثم اختياريا، إذا أريد لتمرير بعض أزواج قيمة المفتاح كما أفعل للحصول على اللقب لل رأس ولكن ليس لذيلها، أنا يمكن أن تفعل ذلك. وحتى الآن إذا ذهبت إلى helpers.php، انها أكثر تعقيدا قليلا. وأنا موجة يدي في مزيد من التفاصيل، ولكن هذا وظيفة واحدة فقط. بحيث خطوة نحو تصميم أفضل. ويمكن أن نأخذ هذا خطوة أخرى إلى الأمام. إذا ذهبت إلى بلدي الرابع نسخة من هذا، لاحظ الآن أن أفعل شيئا أكثر من ذلك النوع من خفي. وأنا أعلم أن هذا هو الكثير لاستيعاب دفعة واحدة، ولكن نحن مجرد نوع تنظيف الامور. الآن أنا أضع بلدي المساعدين ملف في مجلد يسمى includes-- مجرد تعسفية اسم المكان الذي تريد أن تضع الاشياء الذي أريد أن include-- ثم بقية هذا هو نفسه. ولكن إذا كنت تنظر الآن في جي إديت، لاحظ أن لقد تخلصنا من كل تلك الملفات الأخرى ولدي انتقل منها، على سبيل المثال، إلى هنا. ثم في قوالب، لدي هذا هنا، أيضا. وهكذا هذا هو كل شيء الآن نحو خطوة استخدام نمط تصميم أفضل بكثير. ونحن بسرعة جدا الذهاب الى الابتعاد من الوظائف الافتراضي PHP، و التي بدأنا هنا مع، حيث كنت مجرد خلط PHP، وHTML الخاص بك، وCSS الخاص بك، ويمكنك يبصقون بها فقط وتذهب عن طريقك. انها لن تكون للصيانة جدا. مثلما هو الحال في C، بدأنا باستخدام ملفات متعددة ومهام متعددة والأشياء التي من العوملة. ونحن سوف تفعل الشيء نفسه هنا. في واقع الأمر، في الخامس والأخير النسخة هنا، فعلت الشيء الآخر. يمكنك حتى استخدام نقطة نقطة، والتي، مرة أخرى، هو مجرد دليل الوالدين. إلى أن تكون أكثر وعيا حتى الأمنية، لأنه إذا ألقي نظرة على الاستماع هنا لوالخامس النسخة النهائية، إشعار أن لدي دليل واحد يسمى هنا الجمهور، ومن ثم على نفس المستوى، إذا جاز التعبير، لقد حصلت يشمل والقوالب ثم أن ملف نصي التمهيدي. والسبب لقد هيكلة انها تحب this-- والكثير من الويب المضيفين، وخاصة تلك $ 5 ل منها شهر أو تلك 10 $ في الشهر، إذا كنت من أي وقت مضى واحدة من هذه services-- ما يفعله الكثير منهم هو انهم يتوقعون فقط لأنك تفريغ جميع من الملفات في دليل واحد، كما فعلنا سابقا مع هذا المثال الأول. ولكن بمجرد البدء في بناء أكثر المواقع المتطورة التي تخزن فقط البيانات التي تهتم بها والملفات التي يهتمون، وتنظيم الأشياء في الواقع بشكل صحيح ومع المزيد من الأمن الوعي في العقل يمكن نبدأ في الدفاع عن ضد كل من الأصدقاء أن يكون لديك إما في أو خارج هذه الفئة الذين، بمجرد بدء إجراء برامج بنفسك على شبكة الإنترنت، ذاهبون لبدء قطف عليك وعليهم. ولذا فإننا سوف ننظر في نهاية المطاف في هذا التصميم. هذه مجرد صورة يصور ما يلي. نحن ذاهبون الى وضع كل من برمجة المنطق في واحد أو أكثر من الملفات، ونحن في طريقنا للبدء فقط داعيا تلك حدات التحكم. فمن حيث أدمغة مواقعنا هي في الواقع. ثم نحن في طريقنا ل وجهات نظر، ووجهات النظر هي بسيطة بقدر منفصلة فقط files-- دعا القوالب، وغالبا ما. لديهم فقط جماليات صفحتي، ما أريد الصفحة للبحث like-- الألوان والتصميم ومواقف جميع المتغيرات. ثم أكثر إثارة للاهتمام أننا سنصل في النهاية إلى هو النموذج، والتي ستكون فقط كلمة نحن صفعة على غيرها من التكنولوجيات أن نأتي إلى الصورة، مثل قواعد البيانات الفعلية، بحيث عندما تريد لحفظ المعلومات، كنت لا مجرد ارسال بريد الكتروني لبروكتور الخاص بك أو لنفسك، كنت في الواقع تخزينه في قاعدة بيانات باستخدام لغة أخرى تعرف باسم SQL. ولذا فإننا سوف أترك هنا اليوم و التقاط مع هذا الأربعاء وإدخال قواعد البيانات ثم. [عزف الموسيقى]