1 00:00:00,000 --> 00:00:03,920 >> [عزف الموسيقى] 2 00:00:03,920 --> 00:00:11,760 3 00:00:11,760 --> 00:00:13,800 >> ديفيد جيه مالان: حسنا. 4 00:00:13,800 --> 00:00:15,640 هذا هو CS50. 5 00:00:15,640 --> 00:00:17,620 هذه هي بداية من الأسبوع الثامن. 6 00:00:17,620 --> 00:00:22,440 وتذكرون أن توقفنا آخر مرة تبحث في لغة جديدة 7 00:00:22,440 --> 00:00:23,240 تماما. 8 00:00:23,240 --> 00:00:25,905 في الواقع، هذا هو واحد إلى حد ما وخفيفة الوزن وانها ليست حتى 9 00:00:25,905 --> 00:00:26,940 لغة البرمجة. 10 00:00:26,940 --> 00:00:31,100 انها لغة الترميز التي تسمح لنا هيكلة الواقع وجعل صفحات الويب. 11 00:00:31,100 --> 00:00:33,350 وعند شيء آخر بالتزامن مع this-- 12 00:00:33,350 --> 00:00:35,670 أو كنت قريبا، إذا ليس لديك بالفعل. 13 00:00:35,670 --> 00:00:38,530 نحن ذاهبون الى استخدام المتتالية أوراق الأنماط، أو المغلق، الذي 14 00:00:38,530 --> 00:00:40,971 هو نوع آخر من لغة مع الخصائص والقيم 15 00:00:40,971 --> 00:00:43,220 هذا ما سوف دعونا نفعل أشياء مثل تغيير اللون 16 00:00:43,220 --> 00:00:46,010 وتغيير الموقف وهذه الأنواع من القرص. 17 00:00:46,010 --> 00:00:49,940 ولكن اليوم وصاعدا، نبدأ التركيز على لغة أكثر قوة، 18 00:00:49,940 --> 00:00:52,810 لغات البرمجة مثل PHP الفعلية. 19 00:00:52,810 --> 00:00:54,880 >> لذلك كان PHP حولها لبعض الوقت. 20 00:00:54,880 --> 00:00:56,810 وكما سترى، و وقد صمم في المقام الأول 21 00:00:56,810 --> 00:01:00,280 في وقت مبكر لالفعلية تستخدم في تطوير الويب 22 00:01:00,280 --> 00:01:02,360 وفعلا توليد صفحات الويب. 23 00:01:02,360 --> 00:01:04,849 فما أنواع ملامح تفعله لغة 24 00:01:04,849 --> 00:01:10,040 تحتاج لجعل شبكة الإنترنت صفحات ديناميكية مع ذلك؟ 25 00:01:10,040 --> 00:01:14,760 >> وبعبارة أخرى، إذا كنت تريد توليد المحتوى dynamically-- في مثل الفيسبوك 26 00:01:14,760 --> 00:01:19,480 الأخبار، والذي يتغير باستمرار، أو الرسائل الفورية التي يطفو على السطح من وقت 27 00:01:19,480 --> 00:01:21,872 لtime-- مثل ما هو قطعة رئيسية من وظائف 28 00:01:21,872 --> 00:01:24,580 تحتاج في لغة البرمجة التي من شأنها أن تسمح لك حيوي 29 00:01:24,580 --> 00:01:28,070 طباعة معلومات جديدة إلى الشاشة؟ 30 00:01:28,070 --> 00:01:28,685 >> الطالب: الرمز. 31 00:01:28,685 --> 00:01:29,560 ديفيد جيه مالان: الرمز. 32 00:01:29,560 --> 00:01:30,440 موافق. 33 00:01:30,440 --> 00:01:31,995 نحن سنأخذ ذلك. 34 00:01:31,995 --> 00:01:35,310 قليلا أكثر دقة. 35 00:01:35,310 --> 00:01:37,639 أعني أننا يمكن أن تفعل هذا مع C، بصراحة. 36 00:01:37,639 --> 00:01:38,930 سيكون من ألم في الرقبة. 37 00:01:38,930 --> 00:01:41,045 But-- هذا الالتزام؟ 38 00:01:41,045 --> 00:01:41,895 >> الطالب: نعم. 39 00:01:41,895 --> 00:01:42,677 المتغيرات، ربما؟ 40 00:01:42,677 --> 00:01:43,760 ديفيد جيه مالان: متغيرات. 41 00:01:43,760 --> 00:01:44,160 حسنا، بالتأكيد. 42 00:01:44,160 --> 00:01:45,740 المتغيرات بالتأكيد يمكن أن تساعدنا للخروج. 43 00:01:45,740 --> 00:01:47,020 وحتى ابسط شيء. 44 00:01:47,020 --> 00:01:50,640 كنا في أول جدا برنامج اليوم الأول 45 00:01:50,640 --> 00:01:55,686 عندما قلنا في الواقع "مرحبا العالم". 46 00:01:55,686 --> 00:01:56,570 >> الطالب: طباعة. 47 00:01:56,570 --> 00:01:57,778 >> ديفيد جيه مالان: طباعة، أليس كذلك؟ 48 00:01:57,778 --> 00:02:01,050 الطباعة، أو printf في عالم C. لذلك كل هذا الوقت، 49 00:02:01,050 --> 00:02:03,362 لقد كان لدينا في موقعنا التخلص من language-- C، 50 00:02:03,362 --> 00:02:05,570 وحتى في particular-- الصفر لهذه المسألة أن 51 00:02:05,570 --> 00:02:07,400 يمكن أن تولد سلاسل من النص. 52 00:02:07,400 --> 00:02:11,090 >> حسنا، إذا HTML، كما رأينا الأسبوع الماضي، هو فقط في مجمله مجموعة من السلاسل النص 53 00:02:11,090 --> 00:02:14,692 ولكن مع الأقواس المفتوحة والمغلقة بين قوسين ونوع من قافية 54 00:02:14,692 --> 00:02:16,650 والسبب وراء ذلك، بالاضافة الى ذلك الحين يمكن لنا حقا 55 00:02:16,650 --> 00:02:20,440 بدء توليد صفحات الويب سواء يدويا عن طريق كتابة بها في جي إديت 56 00:02:20,440 --> 00:02:23,870 أو في Microsoft Word، لذلك matter-- كل ما نحتاجه هو محرر النص. 57 00:02:23,870 --> 00:02:26,830 >> أو أننا يمكن كتابة التعليمات البرمجية، لاقتراحك 58 00:02:26,830 --> 00:02:30,435 في وقت سابق، من شأنها أن تسمح لنا حيوي توليد HTML، 59 00:02:30,435 --> 00:02:32,560 وهذا ما نحن ذاهبون لبدء عمل مع PHP 60 00:02:32,560 --> 00:02:34,900 وفي نهاية المطاف حتى مع وجود اللغة دعا جافا سكريبت، 61 00:02:34,900 --> 00:02:37,910 هو استخدام لغة واحدة لتوليد أخرى. 62 00:02:37,910 --> 00:02:40,720 وبالفعل، هذا ما الفيسبوك والعديد والعديد من المواقع الأخرى 63 00:02:40,720 --> 00:02:44,530 في الواقع حيوي القيام به ل عرض معلومات جديدة لك. 64 00:02:44,530 --> 00:02:47,117 >> لذلك دعونا نبدأ مع this-- و خفي خط النظر، ولكن واحدة 65 00:02:47,117 --> 00:02:48,450 وهذا في الواقع قوية جدا. 66 00:02:48,450 --> 00:02:51,210 حتى الآن، لقد تم استخدام C، وهي اللغة المترجمة. 67 00:02:51,210 --> 00:02:55,050 ومجرد recap-- سريعة لتجميع لغة لها ما يميز؟ 68 00:02:55,050 --> 00:02:59,050 من الواضح تحتاج إلى ترجمة ذلك، ولكن ماذا يعني ذلك؟ 69 00:02:59,050 --> 00:03:00,505 نعم؟ 70 00:03:00,505 --> 00:03:02,940 >> الطالب: إنه يجب أن يكون تجميعها في رمز الجهاز. 71 00:03:02,940 --> 00:03:03,060 >> ديفيد جيه مالان: OK. 72 00:03:03,060 --> 00:03:04,530 لا بد من تجميعها إلى رمز الجهاز. 73 00:03:04,530 --> 00:03:07,340 لذلك كنت تأخذ الكود الخاص بك، وهو نوع من اللغة الإنجليزية مثل. 74 00:03:07,340 --> 00:03:09,270 قمت بتحويل هذا إلى انخفاض مستوى شيئا، 75 00:03:09,270 --> 00:03:11,590 وهو ما يسمى في النهاية الكائن code-- 0 و1 في. 76 00:03:11,590 --> 00:03:14,830 ومن هؤلاء من 0 و 1 أن وحدة المعالجة المركزية، مثل تلك التي أدلى بها إنتل، 77 00:03:14,830 --> 00:03:16,110 فهم في الواقع. 78 00:03:16,110 --> 00:03:19,690 >> الآن، PHP و Python و Ruby و جافا سكريبت وباقات من الآخر 79 00:03:19,690 --> 00:03:23,190 لا يتم تجميع اللغات اللغات لكن تفسيره لغات، 80 00:03:23,190 --> 00:03:26,630 مما يعني أنك مجرد كتابتها ثم كنت لا تحويلها إلى 0 و1 ل. 81 00:03:26,630 --> 00:03:30,790 يمكنك بدلا من مجرد توفير وقتها مدخلات البرنامج لشخص آخر، 82 00:03:30,790 --> 00:03:32,080 دعا مترجم. 83 00:03:32,080 --> 00:03:34,460 وهذا الشخص وقد تم تصميم البرنامج 84 00:03:34,460 --> 00:03:38,280 لفهم ما كل و كل رمز في بيثون أو PHP 85 00:03:38,280 --> 00:03:42,650 أو روبي أو أي عدد من لغات أخرى تعني. 86 00:03:42,650 --> 00:03:44,760 >> وهكذا كل ما نحتاجه هو شيء من هذا القبيل. 87 00:03:44,760 --> 00:03:46,350 حتى في الواقع، انا ذاهب الى يذهب أكثر إلى الجهاز 88 00:03:46,350 --> 00:03:48,100 هنا، فقط في أي الإطار القديم، ونحن 89 00:03:48,100 --> 00:03:52,580 الذهاب إلى المضي قدما في فتح ملف يسمى، ويقول، مرحبا. 90 00:03:52,580 --> 00:03:55,780 الآن سابقا، وأنا قد أنقذت هذا حتى مع وجود ملحق الملف، 91 00:03:55,780 --> 00:03:57,910 ولكن انا ذاهب الى القيام به حتى أبسط شيء هنا. 92 00:03:57,910 --> 00:04:02,450 انا ذاهب الى المضي قدما والبدء في هذا الملف مع بناء الجملة هذا خفي. 93 00:04:02,450 --> 00:04:06,310 حتى "المستخدم، بن، الحياة الفطرية، للبيئة، فب ". 94 00:04:06,310 --> 00:04:10,670 >> هذا هو مجرد سطر واحد من التعليمات البرمجية هذا ستقول نظام التشغيل الخاص بي، 95 00:04:10,670 --> 00:04:13,730 تذهب تجد في المحلية الخاصة بك البيئة أيا كان ذلك، 96 00:04:13,730 --> 00:04:18,149 أينما PHP is-- وinterpreter-- والمضي قدما واستخدام هذا مترجم 97 00:04:18,149 --> 00:04:20,589 لتفسير التعليمة البرمجية التالية. 98 00:04:20,589 --> 00:04:22,760 الآن، وهذا هو نوع من سمة قبيحة من PHP. 99 00:04:22,760 --> 00:04:24,980 ولكن في هذه اللغة، أي مرة كنت أكتب كود PHP، 100 00:04:24,980 --> 00:04:29,200 تحتاج إلى أن يكون واحد من هذه قبيحة علامات ترسيم بداية PHP 101 00:04:29,200 --> 00:04:32,220 لديك code-- <؟ PHP. 102 00:04:32,220 --> 00:04:37,430 >> ولكن تحت ذلك، أستطيع أن أفعل شيئا الآن بسيطة جدا، مثل printf مرحبا فاصلة 103 00:04:37,430 --> 00:04:40,922 العالم مائل ن قريب الاقتباس، وقوس إغلاق. 104 00:04:40,922 --> 00:04:42,630 وبعد ذلك فقط من أجل الخير التدبير، انا ذاهب 105 00:04:42,630 --> 00:04:45,380 على المضي قدما وعلى مقربة بي PHP علامة هنا 106 00:04:45,380 --> 00:04:47,390 بحيث يبدو كل شيء لطيف المطبوعة جدا. 107 00:04:47,390 --> 00:04:50,780 >> وبمجرد النقر فوق حفظ، جي إديت ذكي بما فيه الكفاية في الواقع 108 00:04:50,780 --> 00:04:54,620 لننظر إلى أن الخط الأول للغاية و ندرك، أوه، كنت تكتب كود PHP. 109 00:04:54,620 --> 00:04:56,710 اسمحوا لي تسليط الضوء على بناء الجملة مع الألوان 110 00:04:56,710 --> 00:04:58,690 هنا بحيث يقف خروج أكثر من ذلك بقليل. 111 00:04:58,690 --> 00:05:01,300 ولكن الآن انا ذاهب الى الذهاب وصولا إلى إطار محطة بي. 112 00:05:01,300 --> 00:05:02,340 انا تكبير. 113 00:05:02,340 --> 00:05:06,860 >> كان يسمى هذا البرنامج "مرحبا" لذلك أنا ذاهب الى القيام مائل دوت مرحبا، 114 00:05:06,860 --> 00:05:07,990 ولكن تم رفض الإذن. 115 00:05:07,990 --> 00:05:08,490 وباش. 116 00:05:08,490 --> 00:05:10,610 سمعنا فعلا من ذلك قبل أسابيع شيء زوجين 117 00:05:10,610 --> 00:05:13,140 في سياق Shellshock، واحدة من تلك الحشرات. 118 00:05:13,140 --> 00:05:16,240 >> ولكن تم رفض الإذن شهدنا من قبل، ربما في سياق مختلف. 119 00:05:16,240 --> 00:05:19,060 لا يتذكر أحد كيف هل يمكن إصلاح شيء 120 00:05:19,060 --> 00:05:22,100 حيث تم رفض الإذن مثل هذا؟ 121 00:05:22,100 --> 00:05:23,490 ما هو الأمر، على الأقل؟ 122 00:05:23,490 --> 00:05:24,159 >> الطالب: CHMOD. 123 00:05:24,159 --> 00:05:26,700 ديفيد جيه مالان: نعم، شمود، لتغيير وضع ملف. 124 00:05:26,700 --> 00:05:30,171 وستحصل كل من يستخدم ل هذا الاسبوع القادم مع مشكلة اللاحقة 125 00:05:30,171 --> 00:05:30,670 مجموعة. 126 00:05:30,670 --> 00:05:33,211 ولكن الآن، انا ذاهب الى تغيير وضع لا تكون قابلة للقراءة، 127 00:05:33,211 --> 00:05:36,650 ولكن لاعطاء الجميع executeability الامتيازات، والقدرة 128 00:05:36,650 --> 00:05:37,710 لتشغيل هذا الملف. 129 00:05:37,710 --> 00:05:40,360 وانا ذاهب الى تعيين هذا إلى ملف مرحبا. 130 00:05:40,360 --> 00:05:45,150 >> لو كنت الآن القيام مائل دوت مرحبا دخول، كنت ترى، في الواقع، برنامجي، مرحبا العالم. 131 00:05:45,150 --> 00:05:48,760 وماذا فعلت أنا خطوة تخطي واضح تماما؟ 132 00:05:48,760 --> 00:05:49,520 تجميع. 133 00:05:49,520 --> 00:05:51,680 لذلك أنا فقط يتعارض هذا البرنامج بكل بساطة. 134 00:05:51,680 --> 00:05:55,690 >> واتضح يمكنك القيام بذلك مع الكثير من تركيب يذكرنا C. 135 00:05:55,690 --> 00:06:03,400 اسمحوا لي أن أذهب إلى رمز في اليوم، التي أضع في بلدي دليل عشقتك 136 00:06:03,400 --> 00:06:05,250 هنا، لأسباب حقيقية سنعود ل. 137 00:06:05,250 --> 00:06:09,350 وانا ذاهب للذهاب إلى، دعنا نقول، الشروط 1. 138 00:06:09,350 --> 00:06:12,450 >> وسترى هنا، أولا و قبل كل شيء، في مجمله مجموعة من التعليقات. 139 00:06:12,450 --> 00:06:15,240 ولكن هذا هو الواقع إعادة إنشاء في PHP 140 00:06:15,240 --> 00:06:18,960 برنامج فعلنا في الأسبوع دعا أحد الشروط 1.C 141 00:06:18,960 --> 00:06:20,690 حيث الغرض في الحياة لهذا البرنامج 142 00:06:20,690 --> 00:06:22,950 على ما يبدو أن أسأل المستخدم للحصول على عدد صحيح 143 00:06:22,950 --> 00:06:25,270 والقيام بعد ذلك بعض رقيق تحليل على ذلك حيث 144 00:06:25,270 --> 00:06:29,510 أقول لكم إذا كان إيجابيا أو سالبة أو تساوي الصفر. 145 00:06:29,510 --> 00:06:34,220 وأحمل هذا الأمر فقط لأنه، ربما باستثناء واحد التفاصيل قليلا، و 146 00:06:34,220 --> 00:06:37,150 انها يمكن تمييزه حتى الآن من C. 147 00:06:37,150 --> 00:06:39,930 >> ما هي ميزة واحدة هنا ربما يقفز 148 00:06:39,930 --> 00:06:41,410 في لكم ومختلفة قليلا؟ 149 00:06:41,410 --> 00:06:42,160 ربما أمرين. 150 00:06:42,160 --> 00:06:42,660 نعم؟ 151 00:06:42,660 --> 00:06:44,070 >> الطالب: الدولار علامة ن؟ 152 00:06:44,070 --> 00:06:44,944 >> ديفيد جيه مالان: نعم. 153 00:06:44,944 --> 00:06:46,210 حتى علامة الدولار ن موجودا. 154 00:06:46,210 --> 00:06:48,120 وعلامات الدولار، و سنرى، ذاهبون 155 00:06:48,120 --> 00:06:51,460 أن يكون الإصلاح إلى بداية أي متغير في PHP. 156 00:06:51,460 --> 00:06:54,250 انها جيدة وجيدة في bad-- أنه نوع من الواضح ما 157 00:06:54,250 --> 00:06:56,797 متغير، وسوء في أنه بعد شيء آخر لكتابة. 158 00:06:56,797 --> 00:06:58,630 وهناك واحد آخر شيء لدينا ليست واردة 159 00:06:58,630 --> 00:07:00,876 شهدت، على الأقل هذا الإملاء. نعم؟ 160 00:07:00,876 --> 00:07:01,630 >> الطالب: ريدلاين. 161 00:07:01,630 --> 00:07:02,671 >> ديفيد جيه مالان: ريدلاين. 162 00:07:02,671 --> 00:07:06,550 ريدلاين لم نر، في حد ذاته، في C، على الرغم من أن هناك شيئا موجودا 163 00:07:06,550 --> 00:07:09,530 ما شابه ذلك، ولكن استخدمنا getstring، وهذا هو نظيرتها. 164 00:07:09,530 --> 00:07:12,950 حتى إذا ذهبت إلى هذا الدليل، الذي صادف أن يكون، 165 00:07:12,950 --> 00:07:18,030 كما ساوضح في قليلا في بلدي عشقتك دليل ومصدر بلدي دليل، 166 00:07:18,030 --> 00:07:22,730 وأنا نمضي قدما ونفعل مائل نقطة conditions-- whoops-- نقطة مائل 167 00:07:22,730 --> 00:07:26,710 الشروط 1، فسوف نرى، مرة أخرى، نفس إذن issue-- رفض. 168 00:07:26,710 --> 00:07:33,610 >> لذلك اسمحوا لي في التكبير والقيام شمود زائد x على شروط وظروف مائل نقطة. 169 00:07:33,610 --> 00:07:35,222 أود صحيح، من فضلك، 50. 170 00:07:35,222 --> 00:07:36,930 ونحن يمكن أن تلعب هذه اللعبة طوال اليوم. 171 00:07:36,930 --> 00:07:39,140 انها سوف تتصرف تماما كما فعلت في أسبوع واحد. 172 00:07:39,140 --> 00:07:42,860 >> موافق لذلك ليس كل ما يختلف، إلا ليس فقط أن قليلا طفيف من بناء الجملة، 173 00:07:42,860 --> 00:07:45,490 ولكن في الجزء العلوي، وأنا مرة أخرى وكان هذا الخط الذي 174 00:07:45,490 --> 00:07:49,760 سمح لي لخلق شيء يبدو وكأنه برنامج C يسمى مرحبا، 175 00:07:49,760 --> 00:07:51,150 دعت الظروف 1. 176 00:07:51,150 --> 00:07:54,520 ولكنها ليست 0، ومنها أنا التنفيذ مباشرة. 177 00:07:54,520 --> 00:07:57,620 انها بدلا من ذلك تشغيل هذا مترجم اسمه 178 00:07:57,620 --> 00:07:59,440 يحدث أن تكون مطابقة للغة. 179 00:07:59,440 --> 00:08:04,970 ويسمى البرنامج PHP، وقانون بلدي أقل من سطر واحد يتم تمريرها إلى ذلك. 180 00:08:04,970 --> 00:08:07,740 >> يمكننا القيام به آخر بسيط إلى حد ما مثلا تذكر شيئا 181 00:08:07,740 --> 00:08:09,240 فعلنا قبل اسابيع. 182 00:08:09,240 --> 00:08:12,020 مرة أخرى، هذا هو نوع من قطعة التعسفية من التعليمات البرمجية 183 00:08:12,020 --> 00:08:14,000 على ما يبدو أن يفعله ما عند تشغيله؟ 184 00:08:14,000 --> 00:08:15,625 ما هذا يحدث لطباعة، ويفترض؟ 185 00:08:15,625 --> 00:08:23,540 186 00:08:23,540 --> 00:08:28,250 >> لذلك في البداية على خط 16، انها سأقول x هو الآن 2، على الأرجح. 187 00:08:28,250 --> 00:08:30,920 ٪ د هو نفسه كما قلت دولار لprintf. 188 00:08:30,920 --> 00:08:33,460 حتى ذلك الحين انها التكعيب، وزارة النقل، وزارة النقل، وزارة النقل، في خط 17. 189 00:08:33,460 --> 00:08:36,299 ثم يبطن 18 يظهر استدعاء دالة مكعبة. 190 00:08:36,299 --> 00:08:37,600 وحيث مكعبة محددة؟ 191 00:08:37,600 --> 00:08:40,319 >> حسنا، يبدو في خط 25، ولهذا ليس كل ما مختلف. 192 00:08:40,319 --> 00:08:42,610 أنا عندي بعض التعليقات أعلاه ذلك، ولكن بالنسبة للجزء الأكبر، 193 00:08:42,610 --> 00:08:45,370 انها واضحة إلى حد ما ترقية أو تحويل 194 00:08:45,370 --> 00:08:48,470 من برنامج C إلى إصدار PHP. 195 00:08:48,470 --> 00:08:52,670 ولكن هناك الآن اثنين من الخلافات التي ربما ينبغي القفز. 196 00:08:52,670 --> 00:08:56,100 ما هو آخر مختلف عن الطريقة التي قد أكتب هذا البرنامج في نفس C؟ 197 00:08:56,100 --> 00:08:57,900 >> الطالب: [غير مسموع]. 198 00:08:57,900 --> 00:09:00,070 >> ديفيد جيه مالان: هناك أي نموذج حتى أعلى. 199 00:09:00,070 --> 00:09:03,210 PHP-- ذلك وبصراحة، و الكثير من languages-- الحديثة 200 00:09:03,210 --> 00:09:06,920 هي أذكى كثيرا وأكثر فائدة من C المجمعين في أنك 201 00:09:06,920 --> 00:09:09,740 يمكن وضع وظيفة هنا، يمكنك وضع وظيفة إلى هنا، 202 00:09:09,740 --> 00:09:12,740 والمترجم هو ذاهب هل لصالح القراءة 203 00:09:12,740 --> 00:09:16,010 الملف بأكمله قبل أن يقرر أن بعض من وظيفة لا وجود لها. 204 00:09:16,010 --> 00:09:17,970 حتى التحسينات طيبة بعد سنوات. 205 00:09:17,970 --> 00:09:22,126 ولكن هناك أيضا شيء آخر مختلفا أو غائبة هنا. 206 00:09:22,126 --> 00:09:22,626 نعم؟ 207 00:09:22,626 --> 00:09:25,084 >> الطالب: [غير مسموع]. 208 00:09:25,084 --> 00:09:27,750 ديفيد جيه مالان: ليس لدينا ل يعلن أنواع من المتغيرات، 209 00:09:27,750 --> 00:09:31,780 لذلك سنرى قبل فترة طويلة أن هناك أنواع مختلفة في PHP، 210 00:09:31,780 --> 00:09:34,970 ولكنك لا تحتاج إلى تحديد لهم، وهو أيضا من الخير والشر. 211 00:09:34,970 --> 00:09:36,623 وهناك واحد في عداد المفقودين شيء آخر. 212 00:09:36,623 --> 00:09:37,430 >> الطالب: لا يوجد المكتبات. 213 00:09:37,430 --> 00:09:38,630 >> ديفيد جيه مالان: لا يوجد المكتبات. 214 00:09:38,630 --> 00:09:39,350 حسنا، هذا لطيف. 215 00:09:39,350 --> 00:09:40,540 نحصل على الكثير من خارج منطقة الجزاء. 216 00:09:40,540 --> 00:09:43,373 حتى لا يكون هناك في الواقع أكثر بكثير كانت الأمور مختلفة مما كنت اعتقد. 217 00:09:43,373 --> 00:09:44,350 ماذا عن الطريقة مرة أخرى؟ 218 00:09:44,350 --> 00:09:46,032 ما هذا؟ 219 00:09:46,032 --> 00:09:46,740 أقول ذلك مرة أخرى؟ 220 00:09:46,740 --> 00:09:47,960 >> الطالب: المؤشر. 221 00:09:47,960 --> 00:09:49,270 >> ديفيد جيه مالان: لا مؤشرات. 222 00:09:49,270 --> 00:09:51,280 حسنا، على الأقل في هذا المثال، لا. 223 00:09:51,280 --> 00:09:52,070 هذا هو عادل. 224 00:09:52,070 --> 00:09:55,090 لذلك لا توجد مؤشرات في الواقع PHP بشكل عام. 225 00:09:55,090 --> 00:09:58,730 هناك شيء يسمى المراجع، لكننا لن تنفق الكثير من الوقت هناك. 226 00:09:58,730 --> 00:09:59,520 وماذا بعد؟ 227 00:09:59,520 --> 00:10:00,185 >> الطالب: رئيسي. 228 00:10:00,185 --> 00:10:01,060 ديفيد جيه مالان: رئيسي. 229 00:10:01,060 --> 00:10:02,768 لذلك كان هذا في بيجي كنت أفكر في. 230 00:10:02,768 --> 00:10:04,660 لاحظ ليس هناك نقطة الدخول الرئيسية. 231 00:10:04,660 --> 00:10:06,525 يمكنك ببساطة البدء في كتابة التعليمات البرمجية. 232 00:10:06,525 --> 00:10:08,400 وهذا هو في الواقع سيكون من المفيد 233 00:10:08,400 --> 00:10:10,560 عندما كنا الانتقال لحظات باستخدام الواقع 234 00:10:10,560 --> 00:10:13,980 هذه اللغة نفسها لشبكة الإنترنت، البرمجة، ونحن 235 00:10:13,980 --> 00:10:16,580 لا تريد أن يكون نقطة دخول واحدة فقط. 236 00:10:16,580 --> 00:10:19,980 نحن قد تريد أن يكون لها مجموعة من عناوين المواقع، وحفنة من الملفات المختلفة 237 00:10:19,980 --> 00:10:22,930 كل أخذ في إدخال المستخدم وإنتاج المخرجات. 238 00:10:22,930 --> 00:10:27,130 >> ولكن هنا هو المثبط للهمم جدا المثال الذي وعدت المرة الأخيرة، 239 00:10:27,130 --> 00:10:30,130 وهي في هذا المجلد هنا، أخطاء إملائية. 240 00:10:30,130 --> 00:10:33,680 حتى في هذا الملف سبيلر، ونحن لن تنفق الكثير من الوقت، هناك 241 00:10:33,680 --> 00:10:37,870 أساسا porting-- P-O-R-T. انها مجرد كلمة معينة عندما، على سبيل المثال، 242 00:10:37,870 --> 00:10:40,800 تحويل من لغة واحدة إلى آخر يدويا عادة. 243 00:10:40,800 --> 00:10:45,680 >> هذا هو ترقية من جهاز الكمبيوتر نسخة من سبيلر من PSET 5. 244 00:10:45,680 --> 00:10:48,856 وحاولت أساسا لتحويل ذلك سطرا سطرا بأكبر قدر ما أستطيع. 245 00:10:48,856 --> 00:10:51,730 لذلك إذا كنت تحب هذا النوع من الشيء، هو في الواقع يستحق في بعض نقطة 246 00:10:51,730 --> 00:10:54,229 سحب ما يصل لهم على حد سواء جنبا إلى الجانب ورؤية ما هو نفسه 247 00:10:54,229 --> 00:10:55,230 وما هو مختلف. 248 00:10:55,230 --> 00:10:57,510 ولكنها جميلة تشبه الرتق. 249 00:10:57,510 --> 00:11:00,110 إذا كنت تتذكر ما سبيلر حتى تبدو وكأنها، 250 00:11:00,110 --> 00:11:02,110 حتى لو لم يكن لديك لتغيير هذا الملف، 251 00:11:02,110 --> 00:11:04,860 انها جميلة مماثلة هيكليا مع بضع 252 00:11:04,860 --> 00:11:06,200 من التغييرات هنا وهناك. 253 00:11:06,200 --> 00:11:10,140 >> لذلك هذا هو فقط ليقول انه جميلة واضحة لتحويل سبيلر 254 00:11:10,140 --> 00:11:12,000 من C إلى PHP. 255 00:11:12,000 --> 00:11:15,390 ولكن في القاموس، هناك شيء أكثر إلحاحا. 256 00:11:15,390 --> 00:11:19,270 اسمحوا لي أن تمضي قدما وخلق ملفي dictionary.php الخاصة. 257 00:11:19,270 --> 00:11:24,010 هكذا تختلف قليلا في ذلك سنقوم نسميها فب بدلا من .C. 258 00:11:24,010 --> 00:11:26,980 لأن هذا هو ملف PHP، و do-- annoyingly-- قليلا ديك 259 00:11:26,980 --> 00:11:30,132 لبدء تشغيل الملف مع علامة PHP من هذا القبيل. 260 00:11:30,132 --> 00:11:32,340 وانا ذاهب الى المضي قدما وتحديد عدد قليل من الوظائف. 261 00:11:32,340 --> 00:11:35,770 دعا وظيفة الشيك، الذي هو سيستغرق في كلمة واحدة مثل قبل. 262 00:11:35,770 --> 00:11:37,520 ولكن هذه الحجة ل ستكون لدينا الدولار 263 00:11:37,520 --> 00:11:39,840 التوقيع لأننا، مرة أخرى، وذلك باستخدام PHP. 264 00:11:39,840 --> 00:11:42,350 وظيفة أخرى من كان dictionary.c الحمل 265 00:11:42,350 --> 00:11:47,120 واستغرق في اسم القاموس، ولذا فإنني سوف تحصل على تلك الوظيفة على استعداد للذهاب. 266 00:11:47,120 --> 00:11:50,920 >> كان واحد آخر في dictionary.c ماذا؟ 267 00:11:50,920 --> 00:11:54,580 كان حجم واحد من اجمل منها، في الأقل إذا كنت تحفظ بعض المتغير حولها. 268 00:11:54,580 --> 00:11:57,830 حتى حجم له فقط لإرجاع متغير. 269 00:11:57,830 --> 00:11:59,090 وبعد ذلك كان هناك تفريغ. 270 00:11:59,090 --> 00:12:02,830 >> لذلك كانت هناك هذه الأربعة وظائف في مشكلة تعيين 5 271 00:12:02,830 --> 00:12:06,770 إن كنت في حاجة إلى تنفيذ مع بعض بنية البيانات أو الهياكل. 272 00:12:06,770 --> 00:12:10,170 لذلك أنا وعدت بأن في PHP، يمكن أن نعلن 273 00:12:10,170 --> 00:12:14,490 جدول تجزئة، على سبيل المثال، كل ذلك بسهولة أكبر. 274 00:12:14,490 --> 00:12:17,377 في الواقع، إذا أريد جدول تجزئة، أنا ذاهب لمجرد الذهاب من هذا القبيل 275 00:12:17,377 --> 00:12:18,460 وهناك جدول التجزئة بلدي. 276 00:12:18,460 --> 00:12:21,555 وهذه هي المذكرة، المثبط للهمم، أن توقفنا عن المرة السابقة. 277 00:12:21,555 --> 00:12:23,930 وأنت تعرف ماذا، إذا أردت متغير الحجم، وأيضا، 278 00:12:23,930 --> 00:12:25,867 هذا واحد ليست كل التي تختلف عن C، 279 00:12:25,867 --> 00:12:27,450 ولكن انا ذاهب الى المضي قدما ونفعل ذلك. 280 00:12:27,450 --> 00:12:28,630 وتلاحظ أي نوع البيانات. 281 00:12:28,630 --> 00:12:31,180 وسوف أعود لاحقا و في الواقع إضافة بعض التعليقات هنا. 282 00:12:31,180 --> 00:12:32,480 ولكن ماذا عن الحمل؟ 283 00:12:32,480 --> 00:12:35,780 >> إذا القاموس علامة الدولار هو اسم الملف الخاص بي 284 00:12:35,780 --> 00:12:39,600 وأنا فعلا تريد تحميل الكلمات في هذا الجدول الآن، 285 00:12:39,600 --> 00:12:42,360 يمكنني القيام به في الواقع شيء بسيط إلى حد ما. 286 00:12:42,360 --> 00:12:44,880 One-- وهذا هو minorly annoying-- في PHP، 287 00:12:44,880 --> 00:12:47,710 لديك لتحديد داخل من وظيفة إذا كنت 288 00:12:47,710 --> 00:12:51,060 تريد الوصول إلى بعض عالمية متغير وهذا ما يعرف في الخارج. 289 00:12:51,060 --> 00:12:53,530 >> ولكن هذا ليس خاصة مثيرة للاهتمام في الوقت الحالي. 290 00:12:53,530 --> 00:12:57,920 ما هو أكثر إثارة للاهتمام هو ذلك لكل بناء التي ذكرتها في المرة السابقة. 291 00:12:57,920 --> 00:13:01,880 واتضح أن لديه وظيفة PHP دعا ملف هدفها في الحياة 292 00:13:01,880 --> 00:13:05,550 هو لفتح ملف وقراءة في كل من خطوطها في صفيف 293 00:13:05,550 --> 00:13:06,840 وتسليمها إلى. 294 00:13:06,840 --> 00:13:12,170 >> وهو ما يعني أستطيع أن أفعل ذلك القاموس أن الآن بشكل فعال عندما أدعو الملف، 295 00:13:12,170 --> 00:13:15,472 هذا هو الذهاب الى تسليم لي عودة مجموعة من الكلمات من الملف. 296 00:13:15,472 --> 00:13:16,430 هذا ليس كل شيء على ما يرام. 297 00:13:16,430 --> 00:13:20,130 فإنها ما تزال مستمرة لتكون خط من الكلمات، وهو أمر خطي. 298 00:13:20,130 --> 00:13:23,880 ولكن أستطيع أن أمضي قدما وتكرار على كل هذه الكلمات باستخدام 299 00:13:23,880 --> 00:13:25,710 أن جملة شاهدنا آخر مرة لفترة وجيزة. 300 00:13:25,710 --> 00:13:27,940 وسترى أنها أكثر في PSET القادم. 301 00:13:27,940 --> 00:13:32,070 >> ولكن الآن لدي حلقة بالتكرار على كل كلمة في القاموس. 302 00:13:32,070 --> 00:13:36,100 وعلى كل تكرار، أذكر أنا استدعاء الكلمة الحالية "كلمة". 303 00:13:36,100 --> 00:13:39,790 وكل ذلك يجري اتخاذها ل وضع كلمة في القاموس 304 00:13:39,790 --> 00:13:43,530 ستكون كلمة تخمين "صحيح". 305 00:13:43,530 --> 00:13:44,740 هذا هو بلدي وظيفة إدراج. 306 00:13:44,740 --> 00:13:46,661 هذا هو بلدي وظيفة الحمل لقاموسي. 307 00:13:46,661 --> 00:13:49,410 الآن حان نوعا من الغش، لأن أنت تعرف ماذا، هناك في الواقع 308 00:13:49,410 --> 00:13:52,920 ن مائل في نهاية الكلمات أنني ربما ينبغي تخلص من، 309 00:13:52,920 --> 00:13:56,380 ولكن هذا ليس مشكلة لديه PHP والذي دعا ختم حرفيا وظيفة 310 00:13:56,380 --> 00:13:58,480 القطع من حرف واحد في النهاية. 311 00:13:58,480 --> 00:13:59,400 حتى لا مشكلة هناك. 312 00:13:59,400 --> 00:14:02,199 انتقلنا إلى الأمام والواقع اختصارها إلى أن مجرد هذا. 313 00:14:02,199 --> 00:14:05,240 والآن أود أن ربما تتبع من حجم، لذلك دعونا على الأقل القيام this-- 314 00:14:05,240 --> 00:14:05,835 حجم ++. 315 00:14:05,835 --> 00:14:07,339 أستطيع أن أفعل ذلك كما كان من قبل. 316 00:14:07,339 --> 00:14:10,380 ثم وهذا هو الارجح ل العمل على ما يرام، حتى أن والعودة الحقيقية. 317 00:14:10,380 --> 00:14:10,930 القيام به. 318 00:14:10,930 --> 00:14:11,797 PSET 5. 319 00:14:11,797 --> 00:14:13,545 >> [ضحك] 320 00:14:13,545 --> 00:14:14,420 >> ديفيد جيه مالان: OK. 321 00:14:14,420 --> 00:14:16,628 ونحن في طريقنا للقيام بذلك مرة أخرى مع PSET المقبل أيضا. 322 00:14:16,628 --> 00:14:18,730 فماذا عن حجم؟ 323 00:14:18,730 --> 00:14:22,080 حسنا، هذا هو واحد نأمل حول كما تتوقعون آخر مرة، 324 00:14:22,080 --> 00:14:24,460 على الرغم من أنني يجب أن نفعل هذا شيء غبي العالمي. 325 00:14:24,460 --> 00:14:26,610 انها مجرد قطعة أثرية من تصميم هذه اللغة. 326 00:14:26,610 --> 00:14:28,450 >> ولكن الاختيار هو قليلا أكثر إثارة للاهتمام. 327 00:14:28,450 --> 00:14:31,420 حتى لو مررت في الدولار التوقيع الكلمة، وأنا لأول مرة 328 00:14:31,420 --> 00:14:34,060 ترغب في الحصول على هذا الجدول متغير العالمي. 329 00:14:34,060 --> 00:14:36,700 والآن إذا أريد ل معرفة ما اذا كان كلمة هناك، 330 00:14:36,700 --> 00:14:44,350 أستطيع أن أقول ببساطة إذا كان صحيحا أن يتم تعيين التالية في الجدول، 331 00:14:44,350 --> 00:14:49,957 ثم المضي قدما والعودة صحيح. آخر، وعودة كاذبة. 332 00:14:49,957 --> 00:14:51,180 القيام به. 333 00:14:51,180 --> 00:14:52,440 النصف الآخر من PSET 5. 334 00:14:52,440 --> 00:14:54,540 >> كل الحق، لذلك مرة أخرى، وأنا قطع بضع زوايا. 335 00:14:54,540 --> 00:14:56,831 في الإنصاف، وربما ينبغي لي قضاء بضعة ثواني 336 00:14:56,831 --> 00:14:58,300 على هذا التنفيذ. 337 00:14:58,300 --> 00:15:01,860 وأنا ربما لا ينبغي أن نسخر كل الساعات التي وضعت على PSET كثيرا. 338 00:15:01,860 --> 00:15:04,045 حتى strtolower هي وظيفة. 339 00:15:04,045 --> 00:15:06,670 شيء الوجودية مماثلة في C، على الأقل بالنسبة للشخصيات، 340 00:15:06,670 --> 00:15:08,560 ولكن في PHP حصلت على نسخة سلسلة كاملة. 341 00:15:08,560 --> 00:15:11,226 >> ما يجري لإجبار كل شيء إلى صغيرة، والتي البعض منكم 342 00:15:11,226 --> 00:15:14,944 قد فعلت ما لcanonicalize كنت قد وضع في القاموس الخاص بك. 343 00:15:14,944 --> 00:15:16,360 والآن يمكنك القيام بذلك في C، أيضا. 344 00:15:16,360 --> 00:15:17,780 هذا له علاقة مع PHP شيء. 345 00:15:17,780 --> 00:15:20,260 >> ولكن في أي وقت لديك شرط منطقي، 346 00:15:20,260 --> 00:15:22,680 وكأنه شيء على الانترنت 10 هناك، وهو فقط 347 00:15:22,680 --> 00:15:27,145 الذهاب إلى تقييم إلى true أو كاذبة، وإذا آخر بشكل واضح 348 00:15:27,145 --> 00:15:33,620 يعود صحيحة أو خاطئة، ويمكنني أن ببساطة جعل هذا حقا أكثر جنسية 349 00:15:33,620 --> 00:15:38,360 ومجرد القيام بشيء من هذا القبيل. 350 00:15:38,360 --> 00:15:40,500 حتى أن هناك وظيفة الشيك الخاص بي. 351 00:15:40,500 --> 00:15:42,560 الصحيح، وإذا كانت منطقية بإرجاع صحيحة أو كاذبة، 352 00:15:42,560 --> 00:15:44,630 دعونا يعود فقط لانه على الفور. 353 00:15:44,630 --> 00:15:47,340 >> وهناك بضعة تعديلات أخرى أنا يمكن أن يجعل هنا وهناك. 354 00:15:47,340 --> 00:15:51,380 تفريغ Load--، بالمناسبة، أن يتم ذلك. 355 00:15:51,380 --> 00:15:52,850 لا علاقة هناك. 356 00:15:52,850 --> 00:15:55,840 لأن جميع من في الذاكرة PHP والعديد من اللغات الأخرى 357 00:15:55,840 --> 00:15:57,570 في الواقع تدار بالنسبة لك. 358 00:15:57,570 --> 00:16:00,330 لذلك بينما في C، و كنت قد تعلمت بشكل مؤلم، 359 00:16:00,330 --> 00:16:04,700 أي شيء malloc أو calloc أو realloc، لديك لتحرير نفسك. 360 00:16:04,700 --> 00:16:08,770 أي شيء FOPEN، لديك لfclose، ذلك أن الموارد يتم تحرير النهاية 361 00:16:08,770 --> 00:16:11,690 وأدوات مثل Valgrind لا وتلاحظ لا يشكو، 362 00:16:11,690 --> 00:16:13,570 وهو أمر جيد لتشغيل عليها. 363 00:16:13,570 --> 00:16:16,190 >> ولكن بالتأكيد، لا بد هناك تكون بعض الصيد، أليس كذلك؟ 364 00:16:16,190 --> 00:16:19,400 خلاف ذلك، نحن نوع من الضائع في مجمله مجموعة من أسابيع. 365 00:16:19,400 --> 00:16:23,270 ولذلك لا يوجد أي عدد من الأسباب لماذا نحن نوع من اتخاذ هذا المسار، 366 00:16:23,270 --> 00:16:24,440 ولكن هناك مفاضلة. 367 00:16:24,440 --> 00:16:25,820 الحق، كان هذا موضوعي. 368 00:16:25,820 --> 00:16:29,690 >> وذلك ما قد مفاضلة هنا يتحرك، من C إلى PHP؟ 369 00:16:29,690 --> 00:16:33,250 وكأننا جميعا الفوز حتى البعض بكثير من قليلا من القبح هنا أو هناك. 370 00:16:33,250 --> 00:16:34,040 نعم. 371 00:16:34,040 --> 00:16:34,700 ما هذا؟ 372 00:16:34,700 --> 00:16:36,064 >> الطالب: [غير مسموع] الذاكرة. 373 00:16:36,064 --> 00:16:36,980 ديفيد جيه مالان: سرعة. 374 00:16:36,980 --> 00:16:37,479 موافق. 375 00:16:37,479 --> 00:16:40,720 كذلك، كانت سرعتي سريعة جدا. 376 00:16:40,720 --> 00:16:42,020 أليس كذلك؟ 377 00:16:42,020 --> 00:16:44,320 لكن سرعة تنفيذ البرنامج؟ 378 00:16:44,320 --> 00:16:45,580 حسنا، هذا هو نقطة عادلة. 379 00:16:45,580 --> 00:16:50,930 >> ذلك لأنه سيحدث، فإنني مقدما ملقن يصل كل من بلدي محاولة حل واحد 380 00:16:50,930 --> 00:16:53,510 كان على متن الكبير كان الحل القائم على المحاولة، 381 00:16:53,510 --> 00:16:55,510 وعندي أن في هذا الدليل هنا. 382 00:16:55,510 --> 00:16:58,510 لذلك أنا في لحظة، وأنا يمكن المضي قدما و تشغيل هذا على الملك جيمس الكتاب المقدس، 383 00:16:58,510 --> 00:16:59,657 ضرب أدخل. 384 00:16:59,657 --> 00:17:01,990 وهذا هو أمل الصحيح تنفيذ في نهاية المطاف، 385 00:17:01,990 --> 00:17:05,109 يعطيني مرة في المجموع 0.38 ثواني لذلك 386 00:17:05,109 --> 00:17:07,270 مثال واحد تعسفي إلى حد ما. 387 00:17:07,270 --> 00:17:09,270 >> وإذا كنت الآن الخوض في هذا نافذة الصالة الثانية 388 00:17:09,270 --> 00:17:14,569 هنا حيث كنت أول فتحت جي إديت، والسماح لي بالذهاب إلى code-- اليوم الذي، مرة أخرى، 389 00:17:14,569 --> 00:17:19,650 في هذا الدليل here-- و اسمحوا لي أن تمضي قدما وتشغيل مدقق الإملاء. 390 00:17:19,650 --> 00:17:23,470 حتى مجرد أن يكون واضحا، هذه هي النسخة PHP. 391 00:17:23,470 --> 00:17:25,170 أنا تظهر فقط الجزء العلوي من هنا. 392 00:17:25,170 --> 00:17:32,020 >> لذلك إذا كنت تفعل سبيلر من تيلدا CS50 PSET 5 نصوص الملك جيمس، أدخل. 393 00:17:32,020 --> 00:17:39,700 394 00:17:39,700 --> 00:17:43,050 انها لا تزال أسرع من الكتابة في C، ولكن الوقت الإجمالي 395 00:17:43,050 --> 00:17:47,650 هو، اشعار، 0.93، في حين بلدي كان التنفيذ استنادا C-0.38. 396 00:17:47,650 --> 00:17:49,110 لذلك فرق غير تافهة. 397 00:17:49,110 --> 00:17:51,100 >> وهذا هو فقط في ملف واحد. 398 00:17:51,100 --> 00:17:53,480 لو كنت لتشغيل اثنين برامج مقابل لوحة كبيرة 399 00:17:53,480 --> 00:17:56,510 ويكون في مجمله مجموعة من المدخلات اختبارها، وهذا بالتأكيد إضافة ما يصل. 400 00:17:56,510 --> 00:18:00,310 وإذا كان لدينا مجموعات البيانات حتى أكبر، هذا، أيضا، أن تضيف ما يصل جميع أكثر. 401 00:18:00,310 --> 00:18:04,820 لذلك نعم، ودفع بعض الثمن من سرعة هو الحال في الواقع. 402 00:18:04,820 --> 00:18:05,470 ماذا بعد؟ 403 00:18:05,470 --> 00:18:08,000 404 00:18:08,000 --> 00:18:08,860 نعم؟ 405 00:18:08,860 --> 00:18:10,340 >> الطالب: مبلغ من استخدام ذاكرة الوصول العشوائي. 406 00:18:10,340 --> 00:18:11,756 >> ديفيد جيه مالان: مبلغ من استخدام ذاكرة الوصول العشوائي. 407 00:18:11,756 --> 00:18:15,380 لذلك أنا لم يعط ثانية واحدة فكرت عند كتابة هذه PHP 408 00:18:15,380 --> 00:18:17,300 نسخة لمدى كنت تستخدم ذاكرة. 409 00:18:17,300 --> 00:18:22,080 أنا تماما أن تأجيل لPHP نفسه ولمن كتب هذا البرنامج. 410 00:18:22,080 --> 00:18:24,500 والتي قد تكون موافق، ولكن إذا كنت فعلا فعلا 411 00:18:24,500 --> 00:18:28,420 يهتمون الضغط على قدر الأداء من برنامجي أو من موقع الويب الخاص بي 412 00:18:28,420 --> 00:18:31,150 أو الخروج من أي أداة أنا بناء، ربما 413 00:18:31,150 --> 00:18:33,310 PHP، في الواقع، ليست اللغة المناسبة. 414 00:18:33,310 --> 00:18:36,330 >> في واقع الأمر، وهذا هو السبب، ل المثال، فإن العديد servers-- الويب 415 00:18:36,330 --> 00:18:38,980 البرامج الفعلية التي تخدم حتى content-- الويب 416 00:18:38,980 --> 00:18:41,810 ليست مكتوبة في PHP أو في بايثون أو روبي. 417 00:18:41,810 --> 00:18:44,630 هي مكتوبة، مثل عليك أن تفعل الآن مع PSET 6، 418 00:18:44,630 --> 00:18:48,120 في C بحيث يمكنك الضغط كل شيء من الأداء للخروج منه 419 00:18:48,120 --> 00:18:50,780 وتمارس حقا السيطرة غرامة الحبوب خلال ما 420 00:18:50,780 --> 00:18:52,980 يجري تحت غطاء محرك السيارة وعدم أخذه فقط 421 00:18:52,980 --> 00:18:54,890 لمنح بعض أعلى هيكل البيانات على مستوى. 422 00:18:54,890 --> 00:18:58,071 >> تنظر، بعد كل شيء، أيا كان في تنفيذ PHP 423 00:18:58,071 --> 00:19:00,070 أن فكرة تجزئة table-- انها في الواقع أكثر 424 00:19:00,070 --> 00:19:04,260 ودعا سليم وarray-- النقابي هل هو أو هي لديها أي فكرة عن أي نوع 425 00:19:04,260 --> 00:19:07,090 المدخلات وأنت تسير لتكون وضع في هيكل؟ 426 00:19:07,090 --> 00:19:08,260 لذلك من الواضح أن لا، أليس كذلك؟ 427 00:19:08,260 --> 00:19:10,340 انها أداة عامة في أدوات هذا 428 00:19:10,340 --> 00:19:13,430 قدمت لمن يريد لاستخدامها، وبالتالي من المؤكد أنه 429 00:19:13,430 --> 00:19:17,680 لا يمكن أن يكون الأمثل في نهاية المطاف لبالضبط ما تريد القيام به. 430 00:19:17,680 --> 00:19:21,180 >> لذلك ربما الوقت اللازم لتطوير التجارة offs-- تختلف، قد تختلف الأداء، 431 00:19:21,180 --> 00:19:23,120 تعقيد أو استخدام الذاكرة قد تختلف. 432 00:19:23,120 --> 00:19:24,820 وذلك ما ستجد على نحو متزايد هو أن هناك 433 00:19:24,820 --> 00:19:26,570 سيكون مختلفا أدوات للتجارة. 434 00:19:26,570 --> 00:19:31,160 في واقع الأمر بالنسبة لغالبية عظمى من المشاريع النهائية الناس في هذه الفئة، 435 00:19:31,160 --> 00:19:34,360 صدقوا أو لا تصدقوا، C لن أن تكون اللغة الصحيحة للاستخدام. 436 00:19:34,360 --> 00:19:37,880 >> و في الواقع، واحدة من الوجبات السريعة في نهاية المطاف عن أي فئة من هذا القبيل 437 00:19:37,880 --> 00:19:40,510 هو لتحصل على التفكير، حسنا، ماذا يجب سحب قبالة 438 00:19:40,510 --> 00:19:42,710 على الرف عندما تريد لحل بعض المشاكل. 439 00:19:42,710 --> 00:19:46,720 وبالفعل، فإننا سوف عبور هذا الجسر حتى أكثر ونحن ننظر إلى لغات أخرى 440 00:19:46,720 --> 00:19:47,920 حتى بعد اليوم. 441 00:19:47,920 --> 00:19:50,530 >> لذلك دعونا الانتقال الآن ل ربما سياق أكثر دراية 442 00:19:50,530 --> 00:19:52,480 لاستخدام لغة مثل PHP. 443 00:19:52,480 --> 00:19:56,720 إنه أمر شائع إلى حد ما في استخدام سطر الأوامر، وكتابة النصوص 444 00:19:56,720 --> 00:19:59,050 كما فعلت، ولكن من أكثر من هذا بكثير شيوعا. 445 00:19:59,050 --> 00:20:02,350 وكان المقصود به لاستخدامها في شكل الملفات التي تنتهي عادة 446 00:20:02,350 --> 00:20:05,060 في .php-- لكن هذا ليس prerequisite-- 447 00:20:05,060 --> 00:20:07,990 أن أنفسهم توليد المحتوى على شبكة الإنترنت. 448 00:20:07,990 --> 00:20:11,310 >> لذلك اسمحوا لي المضي قدما وفتح عدد قليل أمثلة I معدة مسبقا. 449 00:20:11,310 --> 00:20:15,100 وهذه هي في الواقع نوع من يصدق القصص في ذلك واحد من أول الأشياء 450 00:20:15,100 --> 00:20:18,200 ما فعلت بنفسي بعد الانتهاء CS50، وربما، كما أعتقد، 451 00:20:18,200 --> 00:20:21,350 قبل سنوات CS51 هو بلدي الحجرة وأنا كانوا يساعدون 452 00:20:21,350 --> 00:20:24,320 لتشغيل جماعية طالبة برنامج رياضي، والتي، في ذلك الوقت، 453 00:20:24,320 --> 00:20:28,610 قد طالبة التسجيل في مختلف الرياضية عن طريق ملء قطعة من الورق، 454 00:20:28,610 --> 00:20:31,800 كما كان يسمى، والمشي عبر الفناء إلى Wigglesworth، 455 00:20:31,800 --> 00:20:34,030 وإسقاطه في بعض انخفاض الباب بروكتور. 456 00:20:34,030 --> 00:20:37,210 ثم انه أو انها تمر لهم ومن ثم البريد الإلكتروني لنا فعلا يدويا 457 00:20:37,210 --> 00:20:39,140 أن كنا مسجلة لبعض الرياضة. 458 00:20:39,140 --> 00:20:41,166 >> بكل وضوح، فرصة للتحسين. 459 00:20:41,166 --> 00:20:44,040 في هذه الأيام، قد تتحول إلى مجرد أشكال جوجل، ولكن مرة في اليوم، 460 00:20:44,040 --> 00:20:46,914 كان علينا أن تصل فعلا هذا for-- ولم تصل حتى أن ago-- طويلة 461 00:20:46,914 --> 00:20:49,410 للبرمجة اللغة التي لم PHP. 462 00:20:49,410 --> 00:20:51,200 في ذلك الوقت، كان عليه ما يسمى بيرل، 463 00:20:51,200 --> 00:20:52,890 الذي خرج من رواج منذ ذلك الحين. 464 00:20:52,890 --> 00:20:54,160 ولكن الفكرة هي نفسها. 465 00:20:54,160 --> 00:20:58,940 >> وأنا أساسا جلس في محاولة على ميناء بيرل ليذهب إصدارات PHP، 466 00:20:58,940 --> 00:21:03,710 ولكن في التنصل الكامل، لم يعط أي فكر لجماليات فقط حتى الآن. 467 00:21:03,710 --> 00:21:04,960 حتى هنا هو صفحة ويب. 468 00:21:04,960 --> 00:21:05,670 هذا هو ملف. 469 00:21:05,670 --> 00:21:09,470 إذا كنت في التكبير، على ما يبدو لها دعا froshim0.php 470 00:21:09,470 --> 00:21:12,060 فقط لأنه لدينا أولا المثال في هذه السلسلة. 471 00:21:12,060 --> 00:21:15,970 وتلاحظ أن لديها ما يبدو ليكون شكل HTML قبيح جدا، 472 00:21:15,970 --> 00:21:18,680 لكن شكل مثير للاهتمام لأنه يسمح 473 00:21:18,680 --> 00:21:21,910 لي لتقديم مدخلات المستخدم إلى المتصفح. 474 00:21:21,910 --> 00:21:27,730 >> الآن الوقت الماضي عندما كان لدينا نموذج، ل نحن الذين لم تقدم المعلمة الاستعلام لدينا، 475 00:21:27,730 --> 00:21:30,450 معلمة الصف كما كان يسمى؟ 476 00:21:30,450 --> 00:21:31,330 حتى لجوجل، أليس كذلك؟ 477 00:21:31,330 --> 00:21:34,090 نحن مسير تماما على فكرة فعل أي شيء مع هذا الإدخال. 478 00:21:34,090 --> 00:21:36,160 >> ولكن اليوم، ونحن نبدأ إنتاج المخرجات. 479 00:21:36,160 --> 00:21:39,420 وسلوك انا ذاهب لرؤية هي تافهة جدا هنا في البداية. 480 00:21:39,420 --> 00:21:42,980 ديفيد، وأنا سوف تحقق من الجنسين هنا، يقول ماثيوز هنا. 481 00:21:42,980 --> 00:21:43,800 لن أكون قائد الفريق. 482 00:21:43,800 --> 00:21:45,410 انا ذاهب الى انقر فوق تسجيل. 483 00:21:45,410 --> 00:21:50,720 وتلاحظ أن لديه URL تغيير لتسجيل 0.php، 484 00:21:50,720 --> 00:21:52,310 ثم هناك هذا النص القبيح هنا. 485 00:21:52,310 --> 00:21:54,460 أنا لم يعط الفكر ل تنسيق هذا. 486 00:21:54,460 --> 00:21:59,900 >> ولكن ما يثير الاهتمام هو أن ثلاثة صدرت القيم على ما يبدو في. 487 00:21:59,900 --> 00:22:02,960 هذا هو نوع من PHP تعادل printf-- 488 00:22:02,960 --> 00:22:06,330 سنرى ما يسمى حقا في bit-- أن يطبع للتو 489 00:22:06,330 --> 00:22:08,300 ما مرت فيه. 490 00:22:08,300 --> 00:22:11,414 ولذلك فإن هذا يشير إلى أن هذا الشكل كان لا يقل عن ثلاثة حقول إليها، 491 00:22:11,414 --> 00:22:12,580 ورأيتني اكتب لهم بالدخول. 492 00:22:12,580 --> 00:22:15,739 كانت واحدة باسمي، كان واحدا بين الجنسين، واحدة المهجع. 493 00:22:15,739 --> 00:22:18,780 وكابتن الفريق حتى لم تحصل على إرسالها إلى خادم لأنني لم تحقق من ذلك. 494 00:22:18,780 --> 00:22:22,150 >> لذلك هذا هو القول على ما يبدو، عند تقديم الأشياء على شبكة الإنترنت، 495 00:22:22,150 --> 00:22:26,830 فالامر لا يقتصر على URL أحيانا change-- أحيانا لا. 496 00:22:26,830 --> 00:22:30,330 في الواقع، وتغيير اسم الملف، ولكن ما هو غائب من URL 497 00:22:30,330 --> 00:22:32,861 أننا لم نرى آخر مرة مع جوجل. 498 00:22:32,861 --> 00:22:33,360 نعم؟ 499 00:22:33,360 --> 00:22:34,380 >> الطالب: لا سلسلة الاستعلام 500 00:22:34,380 --> 00:22:35,220 >> ديفيد جيه مالان: لا يوجد سلسلة الاستعلام. 501 00:22:35,220 --> 00:22:37,270 وليس هناك علامة استفهام شيء. 502 00:22:37,270 --> 00:22:40,050 وليس هناك علامة استفهام ف يساوي القطط، كما فعلنا في المرة السابقة. 503 00:22:40,050 --> 00:22:42,170 وهناك بالتأكيد لا اسم علامة استفهام يساوي 504 00:22:42,170 --> 00:22:46,310 ديفيد أو النوم يساوي ماثيوز، ذلك حيث أن كل ذاهب؟ 505 00:22:46,310 --> 00:22:51,290 >> حسنا، اسمحوا لي أن أعود إلى جي إديت هنا وفتح أول تلك الملفات 506 00:22:51,290 --> 00:22:57,020 في بلدي عشقتك، المضيف المحلي، جمهور الدليل هنا والذهاب إلى froshim0. 507 00:22:57,020 --> 00:23:02,060 لذلك تبين أن ما يقرب من كل من هذه الصفحة هو مجرد HTML. 508 00:23:02,060 --> 00:23:05,410 وهذا قد يكون غير مألوف لك، ولكن سرعان ما سوف يكون أكثر من ذلك مع PSET 6 509 00:23:05,410 --> 00:23:07,370 وPSET 7 و 8 PSET. 510 00:23:07,370 --> 00:23:09,160 ولكن هذا هو مجرد صفحة HTML. 511 00:23:09,160 --> 00:23:12,400 >> والاشياء ويبدو أن أكثر من هنا. 512 00:23:12,400 --> 00:23:16,290 بصمة الذي شكل سمة العمل لديه قيمة السجل 0. 513 00:23:16,290 --> 00:23:18,890 لهذا السبب عندما أقدم هذا، فإنه يذهب إلى هذا الملف. 514 00:23:18,890 --> 00:23:20,620 ولكن الأسلوب هو آخر اليوم- مختلفة. 515 00:23:20,620 --> 00:23:23,120 هكذا اتضح ان هناك ما لا يقل عن طريقتين على الشبكة المستخدمة 516 00:23:23,120 --> 00:23:24,911 لإرسال معلومات من المتصفح على الخادم. 517 00:23:24,911 --> 00:23:25,980 الحصول يضعه في URL. 518 00:23:25,980 --> 00:23:27,950 آخر يضعه في مكان آخر. 519 00:23:27,950 --> 00:23:30,570 ومتى وماذا يمكن لكم فعلا تريد موقع على شبكة الانترنت 520 00:23:30,570 --> 00:23:34,110 لاستخدام آخر ثم بدلا للحصول على، فقط حدسي؟ 521 00:23:34,110 --> 00:23:37,080 أي موقع. 522 00:23:37,080 --> 00:23:42,010 ما هو نوع البيانات التي يجب تمريرها فقط بالاستدلال الآن عن طريق آخر بدلا 523 00:23:42,010 --> 00:23:45,184 أن يحصل، إذا رأيناه الاختلافات اثنين؟ 524 00:23:45,184 --> 00:23:46,350 الطالب: [غير مسموع] تأمين. 525 00:23:46,350 --> 00:23:47,790 ديفيد جيه مالان: إذا كنت تريد شيء لتكون آمنة. 526 00:23:47,790 --> 00:23:50,360 لذلك قد تكتب كلمة مرور في موقع على شبكة الانترنت، وبطاقة الائتمان 527 00:23:50,360 --> 00:23:53,030 في موقع على شبكة الانترنت من شأنه نوع من هذه دون المستوى الأمثل 528 00:23:53,030 --> 00:23:56,220 إذا وضعت متصفح قيمة داخل URL. 529 00:23:56,220 --> 00:23:57,680 لماذا؟ 530 00:23:57,680 --> 00:24:00,059 كنت أنظر إليها، والتي لا ويبدو أن مثل هذه الصفقة الكبيرة، 531 00:24:00,059 --> 00:24:03,350 لكن الاحتمالات هي أنك جميلة المشي كثيرا بعيدا عن جهاز الكمبيوتر الخاص بك أو استخدام الكمبيوتر 532 00:24:03,350 --> 00:24:05,310 مختبرات، وهكذا شخص آخر أو حتى في الحجرة 533 00:24:05,310 --> 00:24:08,220 يستطيع المشي بسهولة ونرى هذه المعلومات خاصة. 534 00:24:08,220 --> 00:24:10,220 عند إرسال البريد الإلكتروني عبر شبكة الإنترنت، وربما كنت 535 00:24:10,220 --> 00:24:12,350 لا أريد أن تنتهي البيانات حتى في URL كذلك. 536 00:24:12,350 --> 00:24:15,266 وهكذا هناك أي عدد من الأسباب السبب في أننا قد ترغب في وضعها هنا. 537 00:24:15,266 --> 00:24:18,610 والحق photos--، لا أستطيع حتى تماما تخيل كيف سيكون اتخاذ رسم، 538 00:24:18,610 --> 00:24:21,480 مثل JPEG، ووضعها في URL. 539 00:24:21,480 --> 00:24:22,330 هل يمكن أن تفعل ذلك. 540 00:24:22,330 --> 00:24:25,840 هناك طرق ترميز ذلك، لكنه فقط لا مباشرة من هذا القبيل. 541 00:24:25,840 --> 00:24:29,030 >> لذلك هو في الواقع التسجيل 0 مخيب جدا. 542 00:24:29,030 --> 00:24:31,610 كل ما يقوله هو هذا حرفيا. 543 00:24:31,610 --> 00:24:35,910 فإنه يطبع بها داخل بعض HTML العلامات التالية. 544 00:24:35,910 --> 00:24:38,640 لقد حصلت على علامة PHP هنا متداخلة داخل علامة قبل. 545 00:24:38,640 --> 00:24:42,300 "ما قبل" يعني مجرد نص منسق مسبقا، أحادية متباعدة، مثل آلة كاتبة. 546 00:24:42,300 --> 00:24:44,836 >> Printr هي وظيفة متكررة الطباعة. 547 00:24:44,836 --> 00:24:46,710 ثم هناك هذا الشيء المثير للاهتمام هنا. 548 00:24:46,710 --> 00:24:48,835 وسوف نعود إلى هذا لأن هناك آخرين، 549 00:24:48,835 --> 00:24:51,140 لكن الدولار تسطير آخر يبدو أن 550 00:24:51,140 --> 00:24:56,110 متغير في PHP فيها أي شيء ترسلها من متصفح إلى خادم 551 00:24:56,110 --> 00:24:58,040 يحصل المخزنة بالنسبة لك. 552 00:24:58,040 --> 00:25:00,930 وسنرى كيفية الحصول على تلك المعلومات قبل فترة طويلة. 553 00:25:00,930 --> 00:25:04,000 >> ولكن أولا، دعونا نعود ل مثال مختلف قليلا. 554 00:25:04,000 --> 00:25:09,050 الذهاب إلى register-- أو بدلا من ذلك، froshims1.php، 555 00:25:09,050 --> 00:25:10,470 والتي تبدو مختلفة قليلا. 556 00:25:10,470 --> 00:25:12,670 أخذت أكثر من ذلك بقليل جهد مع التنسيق، 557 00:25:12,670 --> 00:25:14,370 على الرغم من انها لا تزال قبيحة جدا. 558 00:25:14,370 --> 00:25:16,990 ولكن انا ذاهب الى المضي قدما واكتب في "ديفيد" الآن. 559 00:25:16,990 --> 00:25:17,850 الذكور. 560 00:25:17,850 --> 00:25:19,360 نحن سوف تحقق "الكابتن" هذه المرة. 561 00:25:19,360 --> 00:25:20,660 سنفعل ماثيوز. 562 00:25:20,660 --> 00:25:22,430 والتسجيل. 563 00:25:22,430 --> 00:25:24,110 >> وهذه المرة تقول، جلالة، وليس حقا. 564 00:25:24,110 --> 00:25:26,180 كل الحق، لذلك ما في التسجيل 1؟ 565 00:25:26,180 --> 00:25:30,509 اسمحوا لي ان اذهب الى السجل المفتوح 1 جلالة and--. 566 00:25:30,509 --> 00:25:32,300 كل الحق، لذلك هذا هو مثيرة للاهتمام، وهذا 567 00:25:32,300 --> 00:25:34,880 هو نقطة انطلاق نحو الآن برامج أكثر إثارة للاهتمام. 568 00:25:34,880 --> 00:25:38,970 >> لاحظ الجزء العلوي من هذا الملف يحتوي على علامة PHP وكذلك بعض التعليقات. 569 00:25:38,970 --> 00:25:42,590 وهذه هي، حتى الآن، الهاء لذلك دعونا مجرد الحصول على التخلص من تلك التعليقات 570 00:25:42,590 --> 00:25:47,070 تماما كما كنت في C. وأزعم مع هذا قطعة من التعليمات البرمجية مع تعليق 571 00:25:47,070 --> 00:25:49,280 أن هذا الرمز هو التحقق من صحة التقرير. 572 00:25:49,280 --> 00:25:51,690 >> كذلك، اتضح أن المتغيرات مثل علامة الدولار 573 00:25:51,690 --> 00:25:53,739 تأكيد آخر ل دعا غلوبالس الفائقة. 574 00:25:53,739 --> 00:25:55,530 انهم مثل هذه المتغيرات العالمية خاصة 575 00:25:55,530 --> 00:25:58,840 التي هي مجرد اومني حاليا المتاحة داخل البرنامج. 576 00:25:58,840 --> 00:26:03,870 ويمكنك استخدام التدوين قوس مربع إلى مؤشر الى لهم عدم استخدام أرقام 577 00:26:03,870 --> 00:26:07,460 مثل 0، 1، 2، 3، ولكن الكلمات الفعلية. 578 00:26:07,460 --> 00:26:12,100 >> لذلك يمكن ان يخطر لك علامة الدولار تأكيد منصب نوع من جدول تجزئة 579 00:26:12,100 --> 00:26:15,920 هل يمكن أن تمر على مفتاح في، والبحث كلمة بين قوسين معقوفين، 580 00:26:15,920 --> 00:26:19,370 وانها سوف تعطيك الخلف القيمة التي تقدم للمستخدم فعلا. 581 00:26:19,370 --> 00:26:21,210 PHP لديه وظيفة دعا فارغة أن مجرد 582 00:26:21,210 --> 00:26:23,720 تقول نعم أو لا، وهذا متغير فارغ أو لا. 583 00:26:23,720 --> 00:26:27,250 لدينا هذه القضبان المزدوجة، و وهو ما يعني فقط أو، كما في C. 584 00:26:27,250 --> 00:26:31,740 >> حتى في الواقع، هذا الخط هو 4 فقط قائلا إذا كان المستخدم لم يعط اسما 585 00:26:31,740 --> 00:26:36,540 أو لم يعط الجنس أو لم يكن إعطاء النوم، والمضي قدما في إعادة توجيه له 586 00:26:36,540 --> 00:26:38,184 أو لها عبر هذا الخط هنا. 587 00:26:38,184 --> 00:26:40,600 لذلك هذا هو خفي قليلا، ولكن هذا يعني حرفيا فقط 588 00:26:40,600 --> 00:26:43,330 نعود إلى هذا الموقع، لذلك القوارب المستخدم 589 00:26:43,330 --> 00:26:45,420 العودة إلى أي مكان أو أنها جاءت من. 590 00:26:45,420 --> 00:26:47,880 ولكن هذا قليلا غير مصقول في أنني مشفرة صعوبة. 591 00:26:47,880 --> 00:26:52,150 >> ولكن ماذا لو كان هذا الشرط إذا لا تقييم إلى true؟ 592 00:26:52,150 --> 00:26:55,790 ما إذا كان المستخدم لم تعطيني له أو اسمها والنوم والجنس؟ 593 00:26:55,790 --> 00:26:58,540 أنه إذا شرط للا الذهاب إلى تقييم إلى true، 594 00:26:58,540 --> 00:27:00,650 لذلك أنا لا تضغط على الخروج في السطر 7. 595 00:27:00,650 --> 00:27:01,680 فماذا يحدث؟ 596 00:27:01,680 --> 00:27:03,880 وهذا هو ما مثيرة للاهتمام حول PHP. 597 00:27:03,880 --> 00:27:07,470 >> يمكنك إسقاط داخل وخارج من وضع PHP، إذا جاز التعبير. 598 00:27:07,470 --> 00:27:10,985 إذا كنت تريد بعض التعليمات البرمجية لتنفيذ، يمكنك فتح وإغلاق علامة PHP 599 00:27:10,985 --> 00:27:13,010 ووضع التعليمات البرمجية هناك مثل فعلت هنا. 600 00:27:13,010 --> 00:27:16,810 بمجرد إغلاق العلامة PHP، الملقم 601 00:27:16,810 --> 00:27:19,407 هو مجرد الذهاب إلى بصق مهما كنت وضعت هناك. 602 00:27:19,407 --> 00:27:21,740 وبالفعل، كان هذا الجزء من التصميم الأصلي من PHP، 603 00:27:21,740 --> 00:27:25,280 للأفضل للأسوأ، وكان هذا خلط رمز والعلامات 604 00:27:25,280 --> 00:27:25,920 اللغة. 605 00:27:25,920 --> 00:27:28,670 وسنرى أن هذا جدا تؤول بسرعة إلى حالة من الفوضى. 606 00:27:28,670 --> 00:27:31,280 ولذا فإننا سوف نفعل ما هو أفضل من هذا في نهاية المطاف، ولكن فقط 607 00:27:31,280 --> 00:27:35,620 ملاحظة السهولة التي أنا في الواقع قادرة على تنفيذ بعض المنطق. 608 00:27:35,620 --> 00:27:37,440 >> ولكن لا يزال قليلا مخيب. 609 00:27:37,440 --> 00:27:41,210 دعونا فتح النسخة اثنين من Frosh الرسائل الفورية، والتي 610 00:27:41,210 --> 00:27:44,270 على ما يبدو تقدم لregister2.php. 611 00:27:44,270 --> 00:27:47,600 لذلك هذا الملف تسير فعلا للنظر نفسه تقريبا. 612 00:27:47,600 --> 00:27:50,780 انا ذاهب للذهاب الى Frosh الرسائل الفورية 2. 613 00:27:50,780 --> 00:27:53,050 ولكن في Frosh الرسائل الفورية 2 دعونا نرى ما سيحدث. 614 00:27:53,050 --> 00:27:58,110 >> ديفيد، انقر فوق زر الاختيار، و انه دعا. ماثيوز، لم نقيب. 615 00:27:58,110 --> 00:27:59,230 تسجيل. 616 00:27:59,230 --> 00:28:00,130 كنت مسجل. 617 00:28:00,130 --> 00:28:00,700 ليس حقا. 618 00:28:00,700 --> 00:28:02,574 يا الانتظار، فعلنا فقط هذا المثال، لم نحن؟ 619 00:28:02,574 --> 00:28:04,520 كل الحق، والوقوف من قبل. 620 00:28:04,520 --> 00:28:06,602 سنفعل الثلاثة. 621 00:28:06,602 --> 00:28:08,560 بوضوح شيئا ما حول أن يحدث مع جوجل. 622 00:28:08,560 --> 00:28:09,600 ونحن سوف نصل الى هناك. 623 00:28:09,600 --> 00:28:11,900 >> حتى Frosh الرسائل الفورية 3 يشبه هذا. 624 00:28:11,900 --> 00:28:13,050 لا يختلف. 625 00:28:13,050 --> 00:28:19,850 ولكن عندما أفعل ديفيد، ذكر، ماتيوس، و تسجيل، هذا الإصدار الثالث والأخير 626 00:28:19,850 --> 00:28:22,230 المطالبات، بكل بساطة، ل تسجل حقا. 627 00:28:22,230 --> 00:28:23,560 هذا النوع من غير مادي. 628 00:28:23,560 --> 00:28:25,600 بل أزعم مع هذا النسخة الثالثة والأخيرة 629 00:28:25,600 --> 00:28:30,610 لقد صوغه الآن بالضبط ما بلدي الحجرة وأنا بنيت لنظام الرصد الدولي Frosh 630 00:28:30,610 --> 00:28:31,731 منذ سنوات البرنامج. 631 00:28:31,731 --> 00:28:32,480 وكان بسيط. 632 00:28:32,480 --> 00:28:34,330 لم يكن هناك أي قاعدة بيانات، لا جداول البيانات إكسل. 633 00:28:34,330 --> 00:28:36,450 ولكن الأهم من ذلك، لم يكن هناك المزيد من الورق 634 00:28:36,450 --> 00:28:42,520 لأن ما فعلناه مع هذا البرنامج كان على البريد الالكتروني فعلا بروكتور، الذي 635 00:28:42,520 --> 00:28:44,530 كان استقبال سابقا هذه الأمور عبر النماذج. 636 00:28:44,530 --> 00:28:48,890 >> ويبدو أننا قد برمجت في هذا هذه الطريقة التي عندما يسجل شخص ما، 637 00:28:48,890 --> 00:28:52,470 رسائل البريد الإلكتروني حساب جون هارفارد لل proctor-- نفسه أو في هذه الحالة، 638 00:28:52,470 --> 00:28:55,960 جون Harvard-- بما يلي text-- "هذا الشخص المسجل فقط." 639 00:28:55,960 --> 00:29:00,560 هو اسم ديفيد، كابتن فارغ. بين الجنسين، ذكور؛ والنوم، ماثيوز. 640 00:29:00,560 --> 00:29:01,560 >> وذلك ما حدث هناك؟ 641 00:29:01,560 --> 00:29:05,360 أيضا، الملف في السؤال هنا على ما يبدو register3.php. 642 00:29:05,360 --> 00:29:09,080 وإذا قمت بفتح هذا، سترى كل من السلطة من التعليمات البرمجية مثل هذا 643 00:29:09,080 --> 00:29:12,380 وأيضا، بصراحة، وانعدام الأمن نظام مثل البريد الإلكتروني. 644 00:29:12,380 --> 00:29:16,290 لقد تظاهرت فقط على نحو فعال ل يكون جون هارفارد بالطريقة التالية. 645 00:29:16,290 --> 00:29:20,920 >> لدي العلامة PHP مفتوحة حتى أعلى، والتي فقط يقول هنا يأتي بعض كود PHP. 646 00:29:20,920 --> 00:29:23,155 إلى هنا، تبين وجود والمكتبات في PHP. 647 00:29:23,155 --> 00:29:26,410 انك لا تحتاج ل تشمل الملفات رأس قدر. 648 00:29:26,410 --> 00:29:28,900 يمكنك الحصول على أكثر مع بالوعة المطبخ، إذا جاز التعبير. 649 00:29:28,900 --> 00:29:31,820 >> ولكن هذه المرة في السطر 4، أفعل تريد مكتبة خاصة تسمى 650 00:29:31,820 --> 00:29:36,087 PHP الارسال، الذي هو شيء يمكن تثبيت مجانا في كثير من النظم. 651 00:29:36,087 --> 00:29:37,920 إلى هنا أنا التحقق من صحة تقديم فقط 652 00:29:37,920 --> 00:29:40,540 عن طريق فحص لم تعطي المستخدم لي اسم، والجنس، والنوم. 653 00:29:40,540 --> 00:29:44,130 وإذا كان الأمر كذلك، والمضي قدما و مثيل الارسال. 654 00:29:44,130 --> 00:29:47,020 >> يمكنك التفكير في هذا الأمر كونه سطر من التعليمات البرمجية التي تخصص فقط. 655 00:29:47,020 --> 00:29:48,950 انها مثل malloc، ولكن انها قليلا أكثر جنسية 656 00:29:48,950 --> 00:29:51,790 في أن أذكر لكم ليس فقط malloc وبعض العدد عام. 657 00:29:51,790 --> 00:29:55,030 أنت تقول أن تعطيني واحدة من هذه، أعطني واحدة جديدة من هذه. 658 00:29:55,030 --> 00:29:57,950 >> وإذا كنت قد برمجت في جافا أو C ++ أو لغات أخرى، 659 00:29:57,950 --> 00:29:59,130 كنت قد رأيت هذا. 660 00:29:59,130 --> 00:30:01,840 ولكن أقل من ذلك، إذا غير مألوف، هذا الخط 661 00:30:01,840 --> 00:30:05,410 يضع في البريد علامة الدولار البنية خاصة تسمى 662 00:30:05,410 --> 00:30:08,731 كائن له المدمج في وظائف البريد الإلكتروني. 663 00:30:08,731 --> 00:30:10,355 في واقع الأمر، لاحظ وبناء الجملة مشابهة. 664 00:30:10,355 --> 00:30:11,900 >> هذا ليس مؤشر في حد ذاتها. 665 00:30:11,900 --> 00:30:13,990 PHP يستخدم فقط بناء الجملة ذاته. 666 00:30:13,990 --> 00:30:17,660 هذا الخط يقول استخدام SMTP-- نقل البريد البسيط 667 00:30:17,660 --> 00:30:20,900 البروتوكول الذي هو مجرد بروتوكول يستخدم لإرسال البريد. 668 00:30:20,900 --> 00:30:24,240 هذا هو تحديد استخدام خادم SMTP هارفارد، التي 669 00:30:24,240 --> 00:30:25,830 في مكان ما هنا في الحرم الجامعي. 670 00:30:25,830 --> 00:30:28,480 >> هذا ما يقوله TCP رقم المنفذ لاجراء محادثات مع، 671 00:30:28,480 --> 00:30:31,650 وأنا فقط أحسب أن بها غوغلينغ أو بسؤال مكتب المساعدة. 672 00:30:31,650 --> 00:30:34,640 ثم أنه يستخدم بعض هارفارد أمن النظام على server-- الإلكتروني 673 00:30:34,640 --> 00:30:37,060 على الأقل لتشفير الحركة بينك وبين ذلك، 674 00:30:37,060 --> 00:30:41,380 على الرغم من أن أي شخص يمكن أن ترسل إلى it-- انا ذاهب لتشغيل بروتوكول TLS 675 00:30:41,380 --> 00:30:42,710 لحفظ هذه أمنا. 676 00:30:42,710 --> 00:30:44,730 >> ولكن هذا هو المكان الأشياء الحصول مخيف قليلا. 677 00:30:44,730 --> 00:30:47,970 يمكنني فقط تعسفا أقول إنني jharvard، 678 00:30:47,970 --> 00:30:51,930 ويمكنني فقط تعسفا البريد الإلكتروني نفسي هنا. 679 00:30:51,930 --> 00:30:55,650 وبعد ذلك يمكن تحديد الموضوع مع هذا الخط هنا. 680 00:30:55,650 --> 00:30:58,460 >> وهذا يبدو مجرد القبيح، ولكن هذا مجرد حفنة من سلسلة. 681 00:30:58,460 --> 00:31:04,480 تبين PHP لديه رمزا مفيدا عظمى، مثل بعض اللغات، المشغل نقطة، 682 00:31:04,480 --> 00:31:07,340 الذي يسلسل فقط حرفيا بعد سلسلة سلسلة سلسلة بعد، 683 00:31:07,340 --> 00:31:09,810 ولم يكن لديك لmalloc أو شخصية من إجمالي طول السلسلة. 684 00:31:09,810 --> 00:31:10,820 أنت فقط تفعل ذلك. 685 00:31:10,820 --> 00:31:15,220 وبالفعل، لأنني وصل في كل هذه الأمور مع هذه النقاط، 686 00:31:15,220 --> 00:31:18,330 هذا هو السبب في أنني البريد الإلكتروني أرسلت بدا كما فعلت. 687 00:31:18,330 --> 00:31:20,610 >> ثم أخيرا هنا، أنا إرسال البريد. 688 00:31:20,610 --> 00:31:22,580 حتى إذا كان هذا غير صحيح، أنا مجرد الذهاب للموت، 689 00:31:22,580 --> 00:31:25,680 وهي الوظيفة التي يطبع فقط إلى الشاشة بعض رسالة خطأ. 690 00:31:25,680 --> 00:31:29,170 لكنه، في الواقع، استدعاء الدالة الإرسال. 691 00:31:29,170 --> 00:31:31,780 خلاف ذلك، إذا كان كل هذا فشل، انها الموجهات لي هنا مرة أخرى. 692 00:31:31,780 --> 00:31:34,050 >> ولماذا أرى أن انا مسجل حقا؟ 693 00:31:34,050 --> 00:31:36,110 حسنا، انه حدث هنا. 694 00:31:36,110 --> 00:31:38,170 لذلك أنا أحمل هذا الأمر ل زوجين من الأسباب. 695 00:31:38,170 --> 00:31:41,542 >> واحد، وهذا هو بالضبط كيف إذا كنت بناء بعض المواقع للمشروع النهائي 696 00:31:41,542 --> 00:31:44,000 أو عن العالم الحقيقي، وهذا هو كيف يمكنك إرسال رسائل تذكير البريد الإلكتروني 697 00:31:44,000 --> 00:31:45,924 لعملائك أو المشتركين الخاص بك. 698 00:31:45,924 --> 00:31:47,590 هذه هي الطريقة التي ترسل رسائل تذكير كلمة المرور. 699 00:31:47,590 --> 00:31:50,760 هذا هو كيف يمكنك إرسال رسائل الناس أن لديهم الفيسبوك الجديد 700 00:31:50,760 --> 00:31:52,990 رسالة معلقة أو شيء من هذا القبيل. 701 00:31:52,990 --> 00:31:55,010 >> ولكنه يتحدث أيضا حقيقة أن هذا يمكن أن 702 00:31:55,010 --> 00:31:58,160 كان جيدا جدا من دافين أو أي شخص آخر. 703 00:31:58,160 --> 00:32:00,567 وأنا أقول هذا النوع من مع ابتسامة لأنني 704 00:32:00,567 --> 00:32:03,400 تأكد تماما ما يجري من خلال العديد من عقولكم في هذه المرحلة. 705 00:32:03,400 --> 00:32:11,910 ولكن هذا هو واحد من تلك افعل كما أقول، وليس كما أفعل النوع من الأشياء، 706 00:32:11,910 --> 00:32:14,480 لأنها تافهة ل إقامة مثل هذه الرسائل. 707 00:32:14,480 --> 00:32:16,480 ولكن كما كنت قد رأيت أو قراءة في قرمزي، 708 00:32:16,480 --> 00:32:18,271 في الآونة الأخيرة كما انها جميلة تافهة للناس 709 00:32:18,271 --> 00:32:20,050 تتبع اعادتهم الى بعض المنشأ. 710 00:32:20,050 --> 00:32:23,790 ويسألني بعض الوقت، ربما في CS50 الغداء، كيف لي أولا 711 00:32:23,790 --> 00:32:27,080 تعرفت عن كثب تقريبا لسنوات عديدة مجلس إد 712 00:32:27,080 --> 00:32:30,890 مضت عندما اكتشفت كيفية عمل الإنترنت. 713 00:32:30,890 --> 00:32:36,940 لذلك في حال: قليلا بعد أن قام مجلس أد. 714 00:32:36,940 --> 00:32:42,300 >> لذلك على أي حال، هناك مجموعة كاملة من غلوبالس عظمى، 715 00:32:42,300 --> 00:32:45,960 كما انهم تسمى هنا، واحدة منها نحن saw-- آخر تسطير علامة الدولار. 716 00:32:45,960 --> 00:32:49,530 هناك دعا نظيره الحصول، الذي هو فيه الاشياء من URL 717 00:32:49,530 --> 00:32:50,690 ينتهي الذهاب. 718 00:32:50,690 --> 00:32:54,051 وهناك مجموعة كاملة من الآخرين، جلسة too-- والخادم والكعكة. 719 00:32:54,051 --> 00:32:55,800 سنعود ل كوكي بعض وقت آخر، 720 00:32:55,800 --> 00:33:01,340 لكن الدورة هي نوع من باردة لأن الحق now-- حتى now-- 721 00:33:01,340 --> 00:33:06,350 كل ما فعلناه مع متصفح الإنترنت هو نوع من عديمي الجنسية، إذا جاز التعبير. 722 00:33:06,350 --> 00:33:10,060 استطيع ان اضغط حولها، والوصول الملفات الموجودة على الخادم، شيء 723 00:33:10,060 --> 00:33:13,500 يحدث على الشاشة، ولكن ثم إغلاق الاتصال. 724 00:33:13,500 --> 00:33:17,450 إنترنت إكسبلورر أو أيقونة فايرفوكس يتوقف الغزل 725 00:33:17,450 --> 00:33:20,340 وكنت انظر فقط ما تحتوي هذه الصفحة على شبكة الإنترنت. 726 00:33:20,340 --> 00:33:23,530 >> حتى HTTP عديم الجنسية في أن بمجرد أن يجعل اتصال، 727 00:33:23,530 --> 00:33:25,050 يحصل بعض البيانات، هذا كل شيء. 728 00:33:25,050 --> 00:33:29,940 لا مزيد من الاتصال، على عكس سكايب، عكس FACETIME، GChat خلافا، والتي 729 00:33:29,940 --> 00:33:32,180 يحافظ على ثابت الاتصال بالخادم. 730 00:33:32,180 --> 00:33:34,650 شبكة الإنترنت هو في الأساس قطع، على الرغم من أننا سوف 731 00:33:34,650 --> 00:33:36,630 ترى كيف قبل فترة طويلة يمكننا محاكاة الأشياء 732 00:33:36,630 --> 00:33:39,300 مثل الفيسبوك دردشة وGChat، التي تحافظ على illusion-- 733 00:33:39,300 --> 00:33:41,680 أو فعلا الحفاظ على اتصال مستمر باستخدام 734 00:33:41,680 --> 00:33:43,270 المزيد من التكنولوجيا الحديثة. 735 00:33:43,270 --> 00:33:49,000 >> ولكن إذا ذهبت ل، ويقول، counter.php، هذا مثال بسيط آخر، 736 00:33:49,000 --> 00:33:52,700 كما سنرى، أن يفكر حاليا زرت الموقع مرة الصفر. 737 00:33:52,700 --> 00:33:56,790 ولكن إذا كنت ببساطة إعادة تحميل الصفحة، فهو يعرف بطريقة ما كنت هنا من قبل. 738 00:33:56,790 --> 00:33:58,840 إذا كنت تحميل مرة أخرى، يعلم أنني كنت هنا من قبل. 739 00:33:58,840 --> 00:34:01,100 ومرارا وتكرارا ومرارا وتكرارا. 740 00:34:01,100 --> 00:34:03,610 >> لذلك هناك بعض زائد plussing يجري، ولكن إشعار 741 00:34:03,610 --> 00:34:07,090 الشيء القليل يدور أي وقت مضى لفترة وجيزة حتى أعلى وثم قطع الاتصال، 742 00:34:07,090 --> 00:34:11,179 حتى انها ليست مثل ولدي ثابت اتصال الأجهزة بلدي. 743 00:34:11,179 --> 00:34:16,929 حسنا، إذا ذهبت إلى counter.php، لاحظ كيف بسيط هو. 744 00:34:16,929 --> 00:34:19,080 أولا أنا أسمي هذا خاص الوظيفة التي سنقوم قريبا 745 00:34:19,080 --> 00:34:21,513 البدء في اتخاذ أمرا مفروغا منه دعا بداية الدورة. 746 00:34:21,513 --> 00:34:22,179 بدء الدورة. 747 00:34:22,179 --> 00:34:25,095 >> وجلسة هو من الآن فصاعدا فقط ستكون دلو، مثل التسوق 748 00:34:25,095 --> 00:34:28,120 عربة التي يمكنك وضع القيم ونوع من الثقة كمبرمج 749 00:34:28,120 --> 00:34:31,590 انهم ذاهبون الى هنا عندما يكون هذا المستخدم يأتي back-- الثانية 750 00:34:31,590 --> 00:34:35,670 في وقت لاحق، بعد ساعة، حتى بعد عام، طالما انه أو انها لا اضحا 751 00:34:35,670 --> 00:34:37,602 ملفات تعريف الارتباط الخاصة، كما سنرى في نهاية المطاف. 752 00:34:37,602 --> 00:34:39,310 والآن لدي فقط واذا كان الشرط هنا. 753 00:34:39,310 --> 00:34:44,679 حتى إذا كان المفتاح التالي، دعا مضادة، يتم تعيين داخل 754 00:34:44,679 --> 00:34:49,210 هذا السوبر global-- هذه البعثرة الجدول، إذا كنت will-- تسمى الدورة، 755 00:34:49,210 --> 00:34:53,350 ثم المضي قدما والاستيلاء على القيمة من التفكير session-- 756 00:34:53,350 --> 00:34:55,250 هذا بمثابة التسوق cart-- وتخزينه 757 00:34:55,250 --> 00:34:57,680 في متغير مؤقت يسمى مضادة. 758 00:34:57,680 --> 00:35:02,240 >> خلاف ذلك، إذا كانت قيمة هذا العداد لم تحدد في ما يسمى عربة التسوق، 759 00:35:02,240 --> 00:35:04,430 مجرد تهيئة إلى 0. 760 00:35:04,430 --> 00:35:09,830 أخيرا، بانخفاض هنا، اذهب ووضع مرة أخرى في عربات التسوق أو الدورة 761 00:35:09,830 --> 00:35:13,000 قيمة العداد +1. 762 00:35:13,000 --> 00:35:16,730 لذلك تبين أن هذا here-- عاء خاص 763 00:35:16,730 --> 00:35:20,355 التي، مرة أخرى، هو واحد من هؤلاء المرتبطة ، صفيف يمكنك صفائف مؤشر 764 00:35:20,355 --> 00:35:25,010 في كلمات بدلا من numbers-- استمرت حتى بعد مرور المستخدم بعيدا. 765 00:35:25,010 --> 00:35:26,510 مرة أخرى، سوف نعود إلى الصفحة الآن. 766 00:35:26,510 --> 00:35:28,400 انها كانت دقيقة أو نحو ذلك. 767 00:35:28,400 --> 00:35:31,300 ولكنه يتذكر أن لدي هنا منذ 19 مرات من قبل. 768 00:35:31,300 --> 00:35:32,740 هذه هي زيارتك 20 بلدي. 769 00:35:32,740 --> 00:35:36,560 >> وحتى هذا سيكون المفتاح ل تنفيذ أي موقع أن يتذكر 770 00:35:36,560 --> 00:35:40,640 إن كنت مسجلا، التي وضعت شيء الحرفي في سلة التسوق الخاصة بك 771 00:35:40,640 --> 00:35:43,902 لشراء أو أن لديك بعض عدد الرسائل معلقة. 772 00:35:43,902 --> 00:35:45,610 في أي وقت تريد تذكر المعلومات، 773 00:35:45,610 --> 00:35:48,130 سنرى أن PHP، مثل عدة لغات أخرى، 774 00:35:48,130 --> 00:35:53,640 يقدم لنا هذا الوهم الدولة على الرغم من ذلك، كما سترى في PSET 6، 775 00:35:53,640 --> 00:35:57,642 كما كنت تقديم طلبات HTTP من العميل إلى الخادم، وهذا كل شيء. 776 00:35:57,642 --> 00:35:59,850 بمجرد أن أعود ردا على ذلك، لا يوجد شيء أكثر 777 00:35:59,850 --> 00:36:01,790 العودة من خادم افتراضي. 778 00:36:01,790 --> 00:36:03,820 ولكن سنرى كيفية التغلب على ذلك. 779 00:36:03,820 --> 00:36:07,430 >> حسنا الآن، دعونا نحاول ل تنظيف هذا قليلا. 780 00:36:07,430 --> 00:36:09,470 شاهدنا عدد قليل أمثلة مختلفة هناك. 781 00:36:09,470 --> 00:36:12,250 أوه، وبوصفها جانبا، ل تلك مألوفة أو غير مألوفة، 782 00:36:12,250 --> 00:36:14,230 والسبب أن ذهب Frosh الرسائل الفورية سبيل المثال 783 00:36:14,230 --> 00:36:18,060 أبحث عن الحقيقة القبيح لslightly-- جيدا، 784 00:36:18,060 --> 00:36:23,160 لا يزال قليلا إلى ugly-- وإن كان لا يزال أقل قبيحة قبيحة 785 00:36:23,160 --> 00:36:25,230 لأن إذا نظرنا في شفرة المصدر هنا، 786 00:36:25,230 --> 00:36:28,240 اتضح أن لدي هذا في أعلى جدا من الملف. 787 00:36:28,240 --> 00:36:32,570 >> تبين أن ألبس الحذاء هو واحد من كثير المكتبات المتاحة بحرية الى هناك 788 00:36:32,570 --> 00:36:37,140 التي لم تكن موجودة لغات البرمجة دائما، ولكن لCSS أو جافا سكريبت 789 00:36:37,140 --> 00:36:39,190 أو HTML أو أي عدد من اللغات. 790 00:36:39,190 --> 00:36:42,160 >> وهؤلاء الناس here-- جاء أصلا 791 00:36:42,160 --> 00:36:44,730 من Twitter-- ديك فقط في مجمله مجموعة من الأساليب. 792 00:36:44,730 --> 00:36:47,360 انها ملف ضخم أن شخصا ما كتب هنا، 793 00:36:47,360 --> 00:36:51,020 أو شخص ما كتبت، مع مرور الوقت أن يحدد الألوان والتنسيق 794 00:36:51,020 --> 00:36:53,740 وغيرها بحيث يمكنني نوع من استعارة جملة من 795 00:36:53,740 --> 00:36:56,157 وليس من الضروري معرفة كيفية وضع صورة بلدي. 796 00:36:56,157 --> 00:36:57,990 وهذا أيضا مصغر بحيث يمكن لجهاز الكمبيوتر 797 00:36:57,990 --> 00:37:00,560 فهم ذلك، ولكن ليس بالضرورة إنسان. 798 00:37:00,560 --> 00:37:03,050 لذلك هذا مجرد سبب التنميق هناك تغير. 799 00:37:03,050 --> 00:37:05,450 >> ولكن دعونا نفعل الآن أفضل من حيث التصميم، 800 00:37:05,450 --> 00:37:07,490 لأنه إذا بقينا أسفل هذا الطريق طويل جدا، 801 00:37:07,490 --> 00:37:11,290 ما يحدث لدينا قانون ل حصول فوضى ومسير. 802 00:37:11,290 --> 00:37:13,040 لذلك دعونا نركز على هذه الأمثلة هنا. 803 00:37:13,040 --> 00:37:15,090 وكان آخر لهذا اليوم. 804 00:37:15,090 --> 00:37:18,720 >> حتى هنا هو فائقة بسيطة الإصدار 1.0 من موقع CS50 ل. 805 00:37:18,720 --> 00:37:21,250 لديها صلات فقط المحاضرات والمنهج، 806 00:37:21,250 --> 00:37:25,490 وانها تستخدم تلك القائمة غير مرتبة tag-- علامة UL التي استخدمناها في المرة السابقة. 807 00:37:25,490 --> 00:37:28,800 وإذا كان في الواقع، إذا أنا فتح الصفحة عرض المصدر، 808 00:37:28,800 --> 00:37:31,710 سترى أن هذا هو حقا، حقا بسيطة HTML. 809 00:37:31,710 --> 00:37:35,460 في واقع الأمر، حتى وإن كان هذا هو ملف PHP تحت غطاء محرك السيارة، 810 00:37:35,460 --> 00:37:38,620 انها لا تزال مجرد البصق من HTML فقط في الوقت الراهن. 811 00:37:38,620 --> 00:37:41,312 >> حتى إذا كنت اضغط على محاضرات و ونحن نرى هذا يحدث. 812 00:37:41,312 --> 00:37:43,020 وإذا كنت اضغط على أسبوع الصفر، ونحن نرى هذا. 813 00:37:43,020 --> 00:37:44,920 وإذا كنت اضغط على الأربعاء، نرى هذا. 814 00:37:44,920 --> 00:37:47,900 وكان هذا على ما يبدو PDF الشرائح من ذلك اليوم. 815 00:37:47,900 --> 00:37:52,020 كل ما قمت به هو الارتباط مع مرساة علامة على هذا الرابط هنا. 816 00:37:52,020 --> 00:37:55,400 >> لذلك هذا هو فقط ان نقول ان هذا هو جميلة نسخة بسيطة من موقع CS50 ل. 817 00:37:55,400 --> 00:37:56,790 دعونا نرى كيف انها تنفذ. 818 00:37:56,790 --> 00:38:01,240 إذا ذهبت إلى الدليل mvc0، سنرى بعض الملفات. 819 00:38:01,240 --> 00:38:03,250 هو واحد من التمهيدي، حتى إذا بعض من هذا هو سريع جدا، 820 00:38:03,250 --> 00:38:05,166 يمكنك فقط كزة حول أكثر مهل في وقت لاحق. 821 00:38:05,166 --> 00:38:07,930 وإشعار هنا هو ملف index.php. 822 00:38:07,930 --> 00:38:09,960 اتضح أنه إذا أنت نفسك، والإنسان، 823 00:38:09,960 --> 00:38:14,460 لم تحدد اسما نهائيا في عنوان URL، خادم الويب عادة 824 00:38:14,460 --> 00:38:17,010 يستنتج بعض الاسم الافتراضي بالنسبة لك. 825 00:38:17,010 --> 00:38:20,060 وهو شيء المؤشر نقطة عموما الافتراضي. 826 00:38:20,060 --> 00:38:23,010 >> ولهذا السبب قبل لحظة عندما زرت هذا الرابط هنا، 827 00:38:23,010 --> 00:38:26,750 لا يوجد اسم الملف، أي ملف التمديد، أي فترة في URL. 828 00:38:26,750 --> 00:38:29,710 عرفت فقط بطريقة أو بأخرى سحرية للبحث عن index.php. 829 00:38:29,710 --> 00:38:30,870 انها مجرد اتفاقية. 830 00:38:30,870 --> 00:38:32,360 يمكن أن يسمى أي شيء. 831 00:38:32,360 --> 00:38:35,110 >> حتى لو كنت الآن الخوض في index.php، سترى 832 00:38:35,110 --> 00:38:37,100 هذا، دعونا indeed-- تخلص من تعليقات 833 00:38:37,100 --> 00:38:39,500 هنا لأن هناك حقا شيء مثير للاهتمام لit-- 834 00:38:39,500 --> 00:38:41,579 هذا هو مجرد الثابت ترميز HTML. 835 00:38:41,579 --> 00:38:43,370 ولهذا ثابت، رغم ذلك، مع المطالبة بلدي 836 00:38:43,370 --> 00:38:45,230 التي يمكنك خلط HTML و PHP. 837 00:38:45,230 --> 00:38:48,060 لا يوجد الفعلية برمجة المنطق هنا. 838 00:38:48,060 --> 00:38:51,030 >> وغيرها من الملفات هي جميلة مجرد بكثير رتيبا كما. 839 00:38:51,030 --> 00:38:56,240 مجرد أسبوع واحد من الصعب ترميز عليه هنا لمدة أسبوع واحد وأسبوع واحد م ث، 840 00:38:56,240 --> 00:38:57,510 الاثنين والاربعاء. 841 00:38:57,510 --> 00:39:01,890 ثم لو تفتح الأسبوع الصفر، لاحظت انها متطابقة تقريبا. 842 00:39:01,890 --> 00:39:03,320 >> وهذا النوع من الوجبات الرئيسية. 843 00:39:03,320 --> 00:39:06,180 لاحظ كيف أن هذه هي زائدة عن الحاجة. 844 00:39:06,180 --> 00:39:10,710 هذه الملفات لا تكاد تتغير، ولكن أنا سحبت واحدة من هذه نسخ / لصق الوظائف 845 00:39:10,710 --> 00:39:13,420 حيث أخذت الملف-- واحد يفترض في الأسبوع zero-- نسخها 846 00:39:13,420 --> 00:39:16,320 عندما جاء أسبوع واحد حولها، وأنب بعض القيم. 847 00:39:16,320 --> 00:39:18,590 يجب أن تكون على الأرجح قادرة لنفعل ما هو أفضل من هذا. 848 00:39:18,590 --> 00:39:21,800 >> لذلك دعونا نعود إلى MVC والخوض في إصدار واحد. 849 00:39:21,800 --> 00:39:24,810 وتلاحظ عندي بعض الملفات، لأن ما 850 00:39:24,810 --> 00:39:29,870 كانت مشتركة بين جميع تلك الملفات فقط لحظة ago-- إذا أعود إلى الإصدار 0، 851 00:39:29,870 --> 00:39:32,600 دعونا نعود إلى المؤشر، وpostulate-- فقط 852 00:39:32,600 --> 00:39:36,090 مرة واحدة للتخلص من comments-- أي جزء من هذه الصفحة 853 00:39:36,090 --> 00:39:40,072 هو يفترض في كل واحد من الملفات؟ 854 00:39:40,072 --> 00:39:40,780 ما عليك سوى الاتصال بها. 855 00:39:40,780 --> 00:39:44,620 التي يتم تكرار خطوط ربما عبر كل هذه الصفحات؟ 856 00:39:44,620 --> 00:39:45,120 نعم؟ 857 00:39:45,120 --> 00:39:46,110 >> الطالب: [غير مسموع]. 858 00:39:46,110 --> 00:39:47,660 >> ديفيد جيه مالان: من 1 إلى 9. 859 00:39:47,660 --> 00:39:48,720 نعم، تماما. 860 00:39:48,720 --> 00:39:52,080 من 1 إلى 9، ربما باستثناء 8 يتغير قليلا بسبب CS50 861 00:39:52,080 --> 00:39:54,650 يصبح المحاضرات أو الأسبوع الصفر أو شيء من هذا. 862 00:39:54,650 --> 00:39:55,970 ولكن متطابقة تقريبا. 863 00:39:55,970 --> 00:39:58,657 لذلك كل هذه الاشياء هي فقط نوع من نسخ ولصق. 864 00:39:58,657 --> 00:40:00,490 وهناك زوجين خطوط أخرى يمكنني التفكير 865 00:40:00,490 --> 00:40:05,000 من المحتمل أن تكون متطابقة جميع الملفات. 866 00:40:05,000 --> 00:40:06,315 >> الطالب: 12 و 13. 867 00:40:06,315 --> 00:40:07,190 ديفيد جيه مالان: نعم. 868 00:40:07,190 --> 00:40:11,220 بالتأكيد، 12، 13، و 14 على الارجح، فقط لأن الاشياء 869 00:40:11,220 --> 00:40:15,460 يجري على خطوط 11 و 10، وذلك على ما يبدو. 870 00:40:15,460 --> 00:40:18,350 لذلك دعونا ننظر إلى النسخة 1، الذي يحاول تحسين هذا. 871 00:40:18,350 --> 00:40:24,020 في الإصدار 1 من هذه example-- MVC سنقوم شرح ما يعنيه بعثة التحقق المشتركة في اللحظات 872 00:40:24,020 --> 00:40:27,420 إذا ذهبت إلى المؤشر، فإنه نوع من يبدو مربكا بعض الشيء الآن. 873 00:40:27,420 --> 00:40:28,880 انها ليست بهذه البساطة كما كانت من قبل. 874 00:40:28,880 --> 00:40:30,906 >> ولكن بمجرد أن تبدأ ل قراءتها بعناية، انها 875 00:40:30,906 --> 00:40:32,530 واضحة جدا ما تقوم به. 876 00:40:32,530 --> 00:40:34,397 ويبدو خط 1 خط 8 قد حلت محل 877 00:40:34,397 --> 00:40:37,230 كل الاشياء التي identified-- فقط على الرغم فقط لحسن التدبير، 878 00:40:37,230 --> 00:40:41,900 تركت ULS هناك فقط في حالة بعض لم يكن يوما لديها قائمة من الأشياء. 879 00:40:41,900 --> 00:40:47,860 ويتطلب ذلك هو نوع من مثل الجنيه تدرج في نسخ C. وهي والمعاجين 880 00:40:47,860 --> 00:40:50,470 محتويات فعال هنا في هذا الملف. 881 00:40:50,470 --> 00:40:53,650 >> حتى في header.php، كما كنت قد يستنتج من اسمها، 882 00:40:53,650 --> 00:40:55,330 سيكون رأس الصفحة. 883 00:40:55,330 --> 00:40:57,110 نوع من اليتامى هنا. 884 00:40:57,110 --> 00:41:01,820 انها فقط أعلى إلى ذلك، ولكن ليس هناك المزيد من المحتوى أدناه. 885 00:41:01,820 --> 00:41:05,070 >> وإذا كنت ننظر إلى تذييل وفي الوقت نفسه، الذي كان ملف آخر mentioned-- 886 00:41:05,070 --> 00:41:08,830 هذا واحد هو حتى أقل إثارة للاهتمام، ولكن مرة أخرى، فإنه من الشائع أن كل شيء. 887 00:41:08,830 --> 00:41:10,250 لذلك هذا هو تذييل الصفحة. 888 00:41:10,250 --> 00:41:11,300 هذا هو الرأس. 889 00:41:11,300 --> 00:41:13,950 هذا هو الملف الذي هو تغيير، فلماذا لا 890 00:41:13,950 --> 00:41:18,140 حاول عامل من القواسم المشتركة مع هذين الخطين هنا؟ 891 00:41:18,140 --> 00:41:20,090 >> لكننا يمكن تنظيف هذا حتى أبعد قليلا. 892 00:41:20,090 --> 00:41:23,260 انا ذاهب الى المضي قدما و فتح الإصدار الثاني حيث 893 00:41:23,260 --> 00:41:27,106 سنرى أن هناك ملف جديد، helpers.php. 894 00:41:27,106 --> 00:41:28,610 سنرى ما هو في لحظة. 895 00:41:28,610 --> 00:41:30,930 دعونا نذهب إلى المؤشر، كما نقطة الدخول كما كان من قبل. 896 00:41:30,930 --> 00:41:35,230 >> والآن أنا لاحظت تتطلب helpers.php، وليس رأس أو تذييل الصفحة. 897 00:41:35,230 --> 00:41:41,720 لكن المساعدين يشبه نوع من helpers.c وhelpers.h من PSET 2 898 00:41:41,720 --> 00:41:46,150 أو PSET 3 منذ فترة طويلة عندما كنت في الواقع لم البحث والعثور عن أن PSET، 899 00:41:46,150 --> 00:41:50,950 وكان لديك كل من التعليمات البرمجية لفرز والبحث في ملف منفصل. 900 00:41:50,950 --> 00:41:52,510 هذا ما يحدث هنا. 901 00:41:52,510 --> 00:41:54,390 >> والآن خط 3 تبدو مختلفة قليلا. 902 00:41:54,390 --> 00:41:55,920 وانه من سطر واحد فقط. 903 00:41:55,920 --> 00:41:57,950 لجعل هذا أكثر واضح، وأنا يمكن فقط 904 00:41:57,950 --> 00:42:01,820 هل هذا يتفق أسلوبيا مع كل شيء آخر فعلناه. 905 00:42:01,820 --> 00:42:04,130 ولكن هذا ليس حقا تغيير الوظيفة. 906 00:42:04,130 --> 00:42:05,880 انها مجرد سطر واحد من التعليمات البرمجية الحقيقي. 907 00:42:05,880 --> 00:42:09,010 >> على ما يبدو، هناك وظيفة ودعا في مكان ما جعل رأس، 908 00:42:09,010 --> 00:42:11,420 وهذا هو المكان الأشياء الحصول قوية جدا. 909 00:42:11,420 --> 00:42:17,040 تلاحظ أن داخل قوسين من ما هو قطعة أخرى من جملة؟ 910 00:42:17,040 --> 00:42:19,780 911 00:42:19,780 --> 00:42:23,350 انها على الارجح قليلا من الصعب القول، ولكن تلاحظ there's-- سوف أضع بعض الأبيض 912 00:42:23,350 --> 00:42:24,300 الفضاء. 913 00:42:24,300 --> 00:42:25,530 هناك أقواس معقوفة. 914 00:42:25,530 --> 00:42:29,700 >> وبين قوسين معقوفين رأينا قبل قليل في سياق صفائف النقابي، 915 00:42:29,700 --> 00:42:31,580 التي هي، مرة أخرى، مثل الجداول التجزئة. 916 00:42:31,580 --> 00:42:36,230 وإذا كنت تعتقد الآن إلى C، و ترتيب الحجج في وظيفة 917 00:42:36,230 --> 00:42:37,570 يجب أن يكون دائما هو نفسه. 918 00:42:37,570 --> 00:42:41,146 عليك أن تتذكر ما طلب is-- س، ص، ض أو ض، ذ، x-- 919 00:42:41,146 --> 00:42:44,020 وعليك أن تقدم لهم دائما في نفس الترتيب أو البحث عنها 920 00:42:44,020 --> 00:42:45,100 إذا كنت قد نسيت. 921 00:42:45,100 --> 00:42:51,140 >> ولكن يبدو أن هذا وسيلة ذكية من تمرير قيمة المفتاح التعسفية 922 00:42:51,140 --> 00:42:55,840 أزواج حيث العنوان هو اسم حجة في هذه الحالة 923 00:42:55,840 --> 00:42:58,334 وCS50 هو قيمته. 924 00:42:58,334 --> 00:43:00,250 وحقيقة أن لدي هذه الأقواس المربعة 925 00:43:00,250 --> 00:43:02,560 يعني هنا أن بوسعي تمر أيضا في شيء 926 00:43:02,560 --> 00:43:07,550 مثل الأسبوع هو 1 أو 0 أو 2 أو 3. 927 00:43:07,550 --> 00:43:10,550 لذلك قمنا معلمات هذه الوظيفة بطريقة 928 00:43:10,550 --> 00:43:15,180 أنها يمكن أن تأخذ مدخلات متعددة، ولكن الآن انها مجرد واحدة. 929 00:43:15,180 --> 00:43:20,060 >> إذا أنا الآن أذهب إلى helpers.php، تلاحظ ما تقوم به. 930 00:43:20,060 --> 00:43:22,030 وهذا هو قليلا وظائف جديدة 931 00:43:22,030 --> 00:43:24,190 لكنه الآن تأخذ فقط على الإيمان بأن هذا هو 932 00:43:24,190 --> 00:43:26,570 بناء الجملة التي كنت تعريف دالة في PHP. 933 00:43:26,570 --> 00:43:27,840 نقول لكم حرفيا وظيفة. 934 00:43:27,840 --> 00:43:30,090 لم تقم بتحديد عودة اكتب، وهذا ثابت 935 00:43:30,090 --> 00:43:33,880 مع التفصيل المتغير في وقت سابق حيث كنت لا حقا اكتب بقوة. 936 00:43:33,880 --> 00:43:35,650 >> هذا يحدد فقط هذا، افتراضيا، هذا 937 00:43:35,650 --> 00:43:37,460 يأخذ النقابي مجموعة كحجة. 938 00:43:37,460 --> 00:43:38,210 وأنت تعرف لماذا؟ 939 00:43:38,210 --> 00:43:41,450 إذا كان المستخدم لا يمر احد في، تفترض قيمة افتراضية. 940 00:43:41,450 --> 00:43:44,680 >> هذا هو ميزة C لايوجد بالنسبة لنا، والذي هو لطيف، لأنه الآن 941 00:43:44,680 --> 00:43:46,430 البيانات، حتى لو كنت لا تعطيه أي شيء، 942 00:43:46,430 --> 00:43:49,300 سيكون ل لكن مجموعة واحدة فارغة. 943 00:43:49,300 --> 00:43:51,860 وبوصفها جانبا، واستخراج فقط لا شيء غير تقليدي 944 00:43:51,860 --> 00:43:56,380 حيث يأخذ كل من مفاتيح من هذا مجموعة النقابي، كل الأشياء 945 00:43:56,380 --> 00:43:59,950 كنت قد وضعت بين قوسين معقوفين، ويخلق متغيرات للخروج منها 946 00:43:59,950 --> 00:44:06,270 حتى أننا يمكن أن يكون في نهاية المطاف الوصول لهم في footet.php وheader.php. 947 00:44:06,270 --> 00:44:08,950 هذا هو قليلا مجردة، لذلك اسمحوا لي أن أشير إلى هذه النقطة. 948 00:44:08,950 --> 00:44:12,990 >> في index.php، لاحظ أنا تمر في زوج قيمة المفتاح من عنوان 949 00:44:12,990 --> 00:44:14,850 بقيمة CS50. 950 00:44:14,850 --> 00:44:18,660 لو كنت الآن ننظر في helpers.php، تلاحظ أن RenderHeader 951 00:44:18,660 --> 00:44:23,870 تم استخراج البيانات التي أنا مارة في، ومن ثم تتطلب header.php. 952 00:44:23,870 --> 00:44:27,970 ما قمت به هو نوع من رجل فقير الآن لتنفيذ ما يلي. 953 00:44:27,970 --> 00:44:31,720 >> إذا كنت فتح header.php، لاحظ أن لدي لم يعد صعبا 954 00:44:31,720 --> 00:44:34,890 ترميز CS50 كلمة في هذا الملف رأس. 955 00:44:34,890 --> 00:44:39,310 لقد وضعت هذا باعتراف الجميع بوحشية اسمه وظيفة، أحرف خاصة HTML، 956 00:44:39,310 --> 00:44:40,170 في هناك. 957 00:44:40,170 --> 00:44:41,640 لكن لاحظ ما فعلته. 958 00:44:41,640 --> 00:44:44,240 أنا عندي مفتوحة HTML. 959 00:44:44,240 --> 00:44:47,420 وبعد ذلك يكون الرأس مفتوح وعنوان مفتوح. 960 00:44:47,420 --> 00:44:52,380 >> ثم داخل لقب مفتوحا و علامات وثيقة، ولدي القليل من كود PHP. 961 00:44:52,380 --> 00:44:56,670 وهذا هو لطيف ولكن بناء الجملة، وهو ما يعني مجرد صدى للخروج. 962 00:44:56,670 --> 00:44:59,840 وهو ما يعني حرفيا this-- صدى following-- 963 00:44:59,840 --> 00:45:01,910 ولكن هذا هو أكثر جنسية في الكتابة. 964 00:45:01,910 --> 00:45:05,000 صدى من اللقب التي تم تمريرها في. 965 00:45:05,000 --> 00:45:07,560 >> ولكن ما رأيك HTML شار خاص هو كل شيء، 966 00:45:07,560 --> 00:45:10,590 خاصة إذا كان لديك بعض الخبرة السابقة HTML؟ 967 00:45:10,590 --> 00:45:14,050 ما قد يكون حرفا خطورة تمرير لفي صفحة 968 00:45:14,050 --> 00:45:17,980 أين أنت توليد حيوي صفحة الويب مع رمز مثل هذا؟ 969 00:45:17,980 --> 00:45:21,370 970 00:45:21,370 --> 00:45:24,650 اسمحوا لي ان اذهب لهذا الملف، نسخة اثنين، ومعرفة ما إذا كنت لا يمكن أن تحدث هذه. 971 00:45:24,650 --> 00:45:26,210 >> النسخة الثانية هي هذا. 972 00:45:26,210 --> 00:45:28,510 وتلاحظ كل شيء على ما يرام، تعمل بشكل جيد. 973 00:45:28,510 --> 00:45:35,280 ولكن لنفترض أن أذهب إلى index.php و أنا حددت هذا عنوان صفحتي 974 00:45:35,280 --> 00:45:36,630 ليس CS50. 975 00:45:36,630 --> 00:45:44,930 فمن تنبيه النصي قوس مفتوح مرحبا العالم، بالقرب اقتباس مفردة، 976 00:45:44,930 --> 00:45:49,740 قوس إغلاق، الفاصلة المنقوطة، قوس مفتوح، مائل النصي. 977 00:45:49,740 --> 00:45:51,897 >> النصي، وسنقوم نرى في نهاية المطاف، هي علامة 978 00:45:51,897 --> 00:45:54,480 التي يمكنك استخدامها لاستخدام آخر لغة برمجة تدعى 979 00:45:54,480 --> 00:45:56,330 جافا سكريبت داخل صفحة الويب. 980 00:45:56,330 --> 00:45:57,960 والآن نلاحظ منطق هنا. 981 00:45:57,960 --> 00:45:59,840 وهنا هو مفتاح يسمى العنوان. 982 00:45:59,840 --> 00:46:02,690 هنا هو انها قيمة طويلة مجنون الآن. 983 00:46:02,690 --> 00:46:07,840 >> ولكن إذا ذهبت إلى المساعدين page- أو بالأحرى، الصفحة رأس، 984 00:46:07,840 --> 00:46:11,310 ادعو هذه الوظيفة على هذا اللقب لأول مرة. 985 00:46:11,310 --> 00:46:15,250 حتى لو كنت الآن إعادة تحميل هذه الصفحة، I نرى هذا، والتي تبدو سخيفة، 986 00:46:15,250 --> 00:46:16,110 بل انها آمنة. 987 00:46:16,110 --> 00:46:17,310 يبدو أنه مجرد غبي. 988 00:46:17,310 --> 00:46:20,320 >> ولكن لنفترض بدلا من ذلك كنت قد نسيت هذا. 989 00:46:20,320 --> 00:46:24,660 وتذكروا كلماتي، وعدد غير صفرية وسوف ننسى أن تفعل هذا 990 00:46:24,660 --> 00:46:27,790 وستحصل على بعض كادح طالب أو صديق الخروج 991 00:46:27,790 --> 00:46:31,540 لك في المعرض CS50 أو مجهول في الليل بدس حولها على موقع الويب الخاص بك 992 00:46:31,540 --> 00:46:35,300 وأساسا حقن كود مجهول لكم في موقعك 993 00:46:35,300 --> 00:46:35,800 بطريقة أو بأخرى. 994 00:46:35,800 --> 00:46:39,000 >> لأنه إذا كنت ببساطة يبصقون من هنا عنوان وعنوان 995 00:46:39,000 --> 00:46:44,330 كذلك there--، إذا عنوان حرفيا يبدو هذا وPHP 996 00:46:44,330 --> 00:46:47,660 كلغة التي يمكن يبصقون خارج النص اللغات الأخرى، 997 00:46:47,660 --> 00:46:50,650 هذا يحدث حرفيا لاستبدال البطاقة مع بطاقة، 998 00:46:50,650 --> 00:46:53,010 بالطبع، ما أنا وضعت في أماكن أخرى. 999 00:46:53,010 --> 00:46:57,640 >> لذلك إن أنا الآن أذهب هنا وبعد تحميل التراجع عن آليات السلامة تلك، 1000 00:46:57,640 --> 00:46:59,982 الآن لدي مرحبا العالم هنا. 1001 00:46:59,982 --> 00:47:02,690 الآن هذا ليس كل شيء بهذه الضخامة ل التعامل، ولكن هل يمكن أن تفعل شيئا 1002 00:47:02,690 --> 00:47:05,119 أكثر من ذلك بقليل خبيثة هنا، كما هناك 1003 00:47:05,119 --> 00:47:08,410 tags-- البعض كما سنرى مرة ننفق المزيد من الوقت في JavaScript-- مثل الموقع 1004 00:47:08,410 --> 00:47:14,910 النقطة أ href يحصل، الاقتباس، نهاية الاقتباس، HTTP business.com، ولكن على العكس من ذلك 1005 00:47:14,910 --> 00:47:15,950 من ذلك اليوم. 1006 00:47:15,950 --> 00:47:20,120 والآن يمكنك لحث على شبكة الإنترنت صفحة للذهاب في الواقع فورا 1007 00:47:20,120 --> 00:47:21,190 لصفحة الويب هذه هنا. 1008 00:47:21,190 --> 00:47:23,000 >> وفعلا، لا أريد حتى الذهاب إلى business.com 1009 00:47:23,000 --> 00:47:24,749 لأنني لا أريد لمعرفة ما هو. 1010 00:47:24,749 --> 00:47:28,710 ولكن هذا أيضا سوف يؤدي كود ليتم حقنه في هذه الصفحة. 1011 00:47:28,710 --> 00:47:32,680 لذلك هذا هو فقط ليقول أنه على الرغم من نقوم بإدخال أوائل فائقة على بعض 1012 00:47:32,680 --> 00:47:36,800 هذه الهياكل أكثر تعقيدا، كل شيء نحو نهايته التأكد 1013 00:47:36,800 --> 00:47:39,320 أن التعليمات البرمجية لا يمكن استغلالها. 1014 00:47:39,320 --> 00:47:40,960 >> حتى الآن النسخة الثالثة هنا. 1015 00:47:40,960 --> 00:47:42,470 انها تحصل على القليل من مربي الحيوانات. 1016 00:47:42,470 --> 00:47:44,875 لم أكن حقا like-- الجانب الشرج مني 1017 00:47:44,875 --> 00:47:47,750 كان الحصول على ازعاج قليلا قبل حقيقة أن كنت قد وظيفة تسمى 1018 00:47:47,750 --> 00:47:51,940 RenderHeader وRenderFooter التي كانت متطابقة تقريبا. 1019 00:47:51,940 --> 00:47:55,400 لذلك خطر لي، لماذا لا أنا بالحدود هذه الوظائف 1020 00:47:55,400 --> 00:47:59,180 في واحدة فقط تسمى تقديم، قد يستغرق والحجة الثانية 1021 00:47:59,180 --> 00:48:04,420 مثل اسم القالب النهائي لrender-- إما رأس أو تذييل الصفحة؟ 1022 00:48:04,420 --> 00:48:07,160 ثم اختياريا، إذا أريد لتمرير بعض أزواج قيمة المفتاح 1023 00:48:07,160 --> 00:48:10,580 كما أفعل للحصول على اللقب لل رأس ولكن ليس لذيلها، 1024 00:48:10,580 --> 00:48:11,800 أنا يمكن أن تفعل ذلك. 1025 00:48:11,800 --> 00:48:16,510 >> وحتى الآن إذا ذهبت إلى helpers.php، انها أكثر تعقيدا قليلا. 1026 00:48:16,510 --> 00:48:19,670 وأنا موجة يدي في مزيد من التفاصيل، ولكن هذا وظيفة واحدة فقط. 1027 00:48:19,670 --> 00:48:21,890 بحيث خطوة نحو تصميم أفضل. 1028 00:48:21,890 --> 00:48:23,360 >> ويمكن أن نأخذ هذا خطوة أخرى إلى الأمام. 1029 00:48:23,360 --> 00:48:28,890 إذا ذهبت إلى بلدي الرابع نسخة من هذا، لاحظ الآن 1030 00:48:28,890 --> 00:48:31,320 أن أفعل شيئا أكثر من ذلك النوع من خفي. 1031 00:48:31,320 --> 00:48:33,230 وأنا أعلم أن هذا هو الكثير لاستيعاب دفعة واحدة، 1032 00:48:33,230 --> 00:48:35,080 ولكن نحن مجرد نوع تنظيف الامور. 1033 00:48:35,080 --> 00:48:38,550 الآن أنا أضع بلدي المساعدين ملف في مجلد يسمى 1034 00:48:38,550 --> 00:48:41,190 includes-- مجرد تعسفية اسم المكان الذي تريد أن تضع الاشياء 1035 00:48:41,190 --> 00:48:44,300 الذي أريد أن include-- ثم بقية هذا هو نفسه. 1036 00:48:44,300 --> 00:48:47,140 >> ولكن إذا كنت تنظر الآن في جي إديت، لاحظ أن لقد تخلصنا 1037 00:48:47,140 --> 00:48:51,940 من كل تلك الملفات الأخرى ولدي انتقل منها، على سبيل المثال، إلى هنا. 1038 00:48:51,940 --> 00:48:55,110 ثم في قوالب، لدي هذا هنا، أيضا. 1039 00:48:55,110 --> 00:48:59,292 وهكذا هذا هو كل شيء الآن نحو خطوة استخدام نمط تصميم أفضل بكثير. 1040 00:48:59,292 --> 00:49:01,000 ونحن بسرعة جدا الذهاب الى الابتعاد 1041 00:49:01,000 --> 00:49:03,870 من الوظائف الافتراضي PHP، و التي بدأنا هنا مع، 1042 00:49:03,870 --> 00:49:07,655 حيث كنت مجرد خلط PHP، وHTML الخاص بك، وCSS الخاص بك، 1043 00:49:07,655 --> 00:49:09,780 ويمكنك يبصقون بها فقط وتذهب عن طريقك. 1044 00:49:09,780 --> 00:49:11,404 انها لن تكون للصيانة جدا. 1045 00:49:11,404 --> 00:49:14,481 مثلما هو الحال في C، بدأنا باستخدام ملفات متعددة ومهام متعددة 1046 00:49:14,481 --> 00:49:15,730 والأشياء التي من العوملة. 1047 00:49:15,730 --> 00:49:16,688 ونحن سوف تفعل الشيء نفسه هنا. 1048 00:49:16,688 --> 00:49:19,970 في واقع الأمر، في الخامس والأخير النسخة هنا، فعلت الشيء الآخر. 1049 00:49:19,970 --> 00:49:23,710 يمكنك حتى استخدام نقطة نقطة، والتي، مرة أخرى، هو مجرد دليل الوالدين. 1050 00:49:23,710 --> 00:49:28,260 إلى أن تكون أكثر وعيا حتى الأمنية، لأنه إذا ألقي نظرة على الاستماع 1051 00:49:28,260 --> 00:49:32,450 هنا لوالخامس النسخة النهائية، إشعار أن لدي دليل واحد يسمى هنا 1052 00:49:32,450 --> 00:49:35,180 الجمهور، ومن ثم على نفس المستوى، إذا جاز التعبير، 1053 00:49:35,180 --> 00:49:38,490 لقد حصلت يشمل والقوالب ثم أن ملف نصي التمهيدي. 1054 00:49:38,490 --> 00:49:41,130 >> والسبب لقد هيكلة انها تحب this-- والكثير من الويب 1055 00:49:41,130 --> 00:49:44,330 المضيفين، وخاصة تلك $ 5 ل منها شهر أو تلك 10 $ في الشهر، 1056 00:49:44,330 --> 00:49:47,170 إذا كنت من أي وقت مضى واحدة من هذه services-- ما يفعله الكثير منهم 1057 00:49:47,170 --> 00:49:50,690 هو انهم يتوقعون فقط لأنك تفريغ جميع من الملفات في دليل واحد، 1058 00:49:50,690 --> 00:49:53,640 كما فعلنا سابقا مع هذا المثال الأول. 1059 00:49:53,640 --> 00:49:56,740 >> ولكن بمجرد البدء في بناء أكثر المواقع المتطورة التي تخزن فقط 1060 00:49:56,740 --> 00:50:00,480 البيانات التي تهتم بها والملفات التي يهتمون، وتنظيم الأشياء في الواقع 1061 00:50:00,480 --> 00:50:05,060 بشكل صحيح ومع المزيد من الأمن الوعي في العقل يمكن 1062 00:50:05,060 --> 00:50:07,927 نبدأ في الدفاع عن ضد كل من الأصدقاء 1063 00:50:07,927 --> 00:50:10,135 أن يكون لديك إما في أو خارج هذه الفئة الذين، 1064 00:50:10,135 --> 00:50:12,510 بمجرد بدء إجراء برامج بنفسك على شبكة الإنترنت، 1065 00:50:12,510 --> 00:50:15,140 ذاهبون لبدء قطف عليك وعليهم. 1066 00:50:15,140 --> 00:50:17,420 >> ولذا فإننا سوف ننظر في نهاية المطاف في هذا التصميم. 1067 00:50:17,420 --> 00:50:20,010 هذه مجرد صورة يصور ما يلي. 1068 00:50:20,010 --> 00:50:22,897 نحن ذاهبون الى وضع كل من برمجة المنطق في واحد أو أكثر من الملفات، 1069 00:50:22,897 --> 00:50:25,230 ونحن في طريقنا للبدء فقط داعيا تلك حدات التحكم. 1070 00:50:25,230 --> 00:50:28,022 فمن حيث أدمغة مواقعنا هي في الواقع. 1071 00:50:28,022 --> 00:50:29,730 ثم نحن في طريقنا ل وجهات نظر، ووجهات النظر 1072 00:50:29,730 --> 00:50:32,480 هي بسيطة بقدر منفصلة فقط files-- دعا القوالب، وغالبا ما. 1073 00:50:32,480 --> 00:50:34,410 لديهم فقط جماليات صفحتي، 1074 00:50:34,410 --> 00:50:37,020 ما أريد الصفحة للبحث like-- الألوان والتصميم 1075 00:50:37,020 --> 00:50:38,870 ومواقف جميع المتغيرات. 1076 00:50:38,870 --> 00:50:41,120 >> ثم أكثر إثارة للاهتمام أننا سنصل في النهاية إلى 1077 00:50:41,120 --> 00:50:45,420 هو النموذج، والتي ستكون فقط كلمة نحن صفعة على غيرها من التكنولوجيات 1078 00:50:45,420 --> 00:50:47,771 أن نأتي إلى الصورة، مثل قواعد البيانات الفعلية، 1079 00:50:47,771 --> 00:50:49,520 بحيث عندما تريد لحفظ المعلومات، 1080 00:50:49,520 --> 00:50:52,140 كنت لا مجرد ارسال بريد الكتروني لبروكتور الخاص بك أو لنفسك، 1081 00:50:52,140 --> 00:50:57,350 كنت في الواقع تخزينه في قاعدة بيانات باستخدام لغة أخرى تعرف باسم SQL. 1082 00:50:57,350 --> 00:51:00,450 ولذا فإننا سوف أترك هنا اليوم و التقاط مع هذا الأربعاء 1083 00:51:00,450 --> 00:51:02,990 وإدخال قواعد البيانات ثم. 1084 00:51:02,990 --> 00:51:06,940 >> [عزف الموسيقى] 1085 00:51:06,940 --> 00:54:24,555