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 และเมื่อคุณอย่างอื่น ร่วมกับเจ้านี่ 12 00:00:33,350 --> 00:00:35,670 หรือเร็ว ๆ นี้คุณจะถ้า คุณยังไม่ได้ 13 00:00:35,670 --> 00:00:38,530 เรากำลังจะใช้ Cascading Style Sheets หรือ CSS ซึ่ง 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-- เนื้อหาเช่นของ Facebook 26 00:01:14,760 --> 00:01:19,480 newsfeed ซึ่งการเปลี่ยนแปลงอย่างต่อเนื่องหรือ ข้อความโต้ตอบแบบทันทีที่ปรากฏขึ้นจากเวลา 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 โลกของซีดังนั้นเวลานี้ 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 เริ่มต้นการสร้างหน้าเว็บใด ด้วยตนเองโดยการพิมพ์พวกเขาออกใน Gedit 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 ก่อนหน้านี้ที่จะให้เรา แบบไดนามิกสร้าง HTM​​L, 59 00:02:30,435 --> 00:02:32,560 และนั่นคือสิ่งที่เรากำลังจะ จะเริ่มต้นทำกับ PHP 60 00:02:32,560 --> 00:02:34,900 และในที่สุดแม้จะมี ภาษาที่เรียกว่า JavaScript, 61 00:02:34,900 --> 00:02:37,910 จะใช้ภาษาใดภาษาหนึ่งในการสร้างอีก 62 00:02:37,910 --> 00:02:40,720 และแน่นอนนี่คือสิ่งที่ Facebook และหลายเว็บไซต์อื่น ๆ อีกมากมาย 63 00:02:40,720 --> 00:02:44,530 ทำจริงแบบไดนามิก แสดงข้อมูลใหม่ให้คุณ 64 00:02:44,530 --> 00:02:47,117 >> จึงขอเริ่มต้นด้วยเจ้านี่ ความลับที่กำลังมองหาสาย แต่อย่างใดอย่างหนึ่ง 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 ที่ CPU เช่นผู้ที่ทำโดยอินเทล 77 00:03:14,830 --> 00:03:16,110 จริงเข้าใจ 78 00:03:16,110 --> 00:03:19,690 >> ตอนนี้ PHP และ Python และ Ruby และ JavaScript และอัดแน่นของอื่น ๆ 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 จะเข้าใจสิ่งที่แต่ละคนและ สัญลักษณ์ใน Python หรือ 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 ดังนั้น "ผู้ใช้ถัง env, สำหรับสภาพแวดล้อม, PHP. " 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 เป็นเท่าไหร่ 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 demarcating จุดเริ่มต้น 101 00:04:29,200 --> 00:04:32,220 ที่คุณ code-- 00:04:37,430 >> แต่ต่ำกว่าที่นี่ตอนนี้ผมสามารถทำบางสิ่งบางอย่าง ค่อนข้างง่ายเช่น printf สวัสดีจุลภาค 103 00:04:37,430 --> 00:04:40,922 โลกเครื่องหมาย n ใกล้ อ้างวงเล็บปิด 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 >> และทันทีที่ฉันคลิกบันทึก Gedit เป็นสมาร์ทจริงพอ 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 แต่ตอนนี้ฉันจะไป ลงไปที่หน้าต่าง terminal ของฉัน 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 ในบริบทของทำพิษ, หนึ่งในข้อผิดพลาดเหล่านั้น 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 เดวิดเจลัน: ใช่ chmod, สำหรับการเปลี่ยนโหมดของไฟล์ 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 >> และมันจะเปิดออกที่คุณสามารถทำเช่นนี้กับ จำนวนมากที่มีไวยากรณ์ที่ชวนให้นึกถึงซี 135 00:05:55,690 --> 00:06:03,400 ให้ฉันไปในรหัสของวันนี้ ซึ่งผมใส่ลงไปในไดเรกทอรี vhost ของฉัน 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 >> นักเรียน: ดอลลาร์สัญลักษณ์ n? 152 00:06:44,070 --> 00:06:44,944 >> เดวิดเจลัน: ใช่ 153 00:06:44,944 --> 00:06:46,210 ดังนั้นเครื่องหมายดอลลาร์ n คือปัจจุบัน 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 >> นักเรียน: Readline 161 00:07:01,630 --> 00:07:02,671 >> เดวิดเจลัน: Readline 162 00:07:02,671 --> 00:07:06,550 readline เราไม่ได้เห็นต่อ se ใน 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 ที่ผมจะอธิบายในบิตใน vhost ของฉัน ไดเรกทอรีและแหล่งที่มาของฉันไดเรกทอรี, 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 >> เพื่อให้ฉันขยายและทำ chmod บวก 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 >> OK เพื่อให้ได้สิ่งที่แตกต่างกันยกเว้น ไม่ใช่แค่ว่าบิตเล็กน้อยของไวยากรณ์ 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 % d จะเหมือนกับ $ i สำหรับ printf 188 00:08:30,920 --> 00:08:33,460 ดังนั้นแล้วก็ cubing จุด, จุดจุดในแนว 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 มันเป็นธรรมตรงไปตรง Porting หรือการแปลง 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 ดังนั้นนี่เป็น Biggie ฉันคิดของ 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 ภาษาเดียวกันนี้สำหรับ web-based การเขียนโปรแกรมที่เรา 235 00:10:13,980 --> 00:10:16,580 ไม่ต้องการที่จะมีเพียงแค่จุดเริ่มต้นหนึ่ง 236 00:10:16,580 --> 00:10:19,980 เราอาจต้องการที่จะมีพวงของ URL ที่พวงของไฟล์ที่แตกต่างกัน 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 ดังนั้นแตกต่างกันเล็กน้อยในการที่ เราจะเรียกมันว่า .php แทน .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 >> แต่ตอนนี้ฉันมี iterating ห่วง เหนือคำในพจนานุกรมแต่ละ 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 เครื่องหมาย n ในตอนท้ายของคำ ว่าผมควรจะกำจัด 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 และตอนนี้ฉันอาจจะติดตาม ขนาดเพื่อให้อย่างน้อยทำเจ้านี่ 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 จะประเมินจริงหรือ เท็จและของคุณหากอื่นอย่างเห็นได้ชัด 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 คุณจะต้องเปลี่ยนชื่อ, เพื่อให้ทรัพยากรที่มีอิสระในที่สุด 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 กดปุ่ม Enter 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 >> และถ้าตอนนี้ผมเข้าไปนี้ หน้าต่าง terminal ที่สอง 388 00:17:09,270 --> 00:17:14,569 ที่นี่ที่แรกที่ผมเปิด Gedit ให้ ฉันไปเป็น code-- ของวันนี้ซึ่งอีกครั้ง 389 00:17:14,569 --> 00:17:19,650 อยู่ในไดเรกทอรีนี้ตรงนี้และ ให้ฉันไปข้างหน้าและเรียกใช้สะกด 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-based คือ 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 >> เพื่อให้ฉันไปข้างหน้าและเปิดไม่กี่ ตัวอย่างที่ผมเตรียมไว้ล่วงหน้า 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 วันนี้คุณอาจจะหันไปเพียงแค่ Google รูปแบบ แต่กลับในวันที่ 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 >> และผมเป็นหลักนั่งลงที่จะลอง พอร์ตไปรุ่น Perl เพื่อ 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 เพื่อไปยัง Google ใช่มั้ย? 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 ที่เราได้เห็นเป็นครั้งสุดท้ายด้วย Google 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 >> ดีให้ฉันกลับไป Gedit ไปที่นี่ และเปิดครั้งแรกของไฟล์เหล่านั้น 506 00:22:51,290 --> 00:22:57,020 ใน vhost ของโฮสต์ท้องถิ่นประชาชน ไดเรกทอรีที่นี่และไปเป็น froshim0 507 00:22:57,020 --> 00:23:02,060 ดังนั้นมันกลับกลายเป็นว่าเกือบ ทั้งหมดของหน้านี้เป็นเพียง HTM​​L 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 แต่วิธีการโพสต์ today-- ที่แตกต่างกัน 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 เป็นจริง underwhelming มาก 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 >> และเวลานี้มันบอกว่า HM, ไม่ได้จริงๆ 564 00:25:24,110 --> 00:25:26,180 สิทธิทั้งหมดดังนั้นสิ่งที่ลงทะเบียน 1? 565 00:25:26,180 --> 00:25:30,509 ให้ฉันเข้าไปเปิดลงทะเบียน 1 and-- HM 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 เช่นเดียวกับพวกเขาอยู่ในซีและผมเรียกร้อง กับชิ้นนี้ของรหัสด้วยกับความคิดเห็น 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 เน้นโพสต์นี้ เรียกว่า Globals สุด 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 เรามีบาร์คู่เหล่านี้ ซึ่งก็หมายความว่าหรือเหมือนในซี 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 >> แต่สิ่งที่ว่านี้ถ้าเงื่อนไข ไม่ได้ประเมินถึงความจริง? 592 00:26:52,150 --> 00:26:55,790 ถ้าผู้ใช้ไม่ให้ฉันของเขา หรือชื่อและที่หอพักและเพศของเธอ? 593 00:26:55,790 --> 00:26:58,540 ว่าถ้าเงื่อนไขไม่ จะประเมินความเป็นจริง 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 และเราจะเห็นว่าเรื่องนี้มาก ได้อย่างรวดเร็ว devolves เป็นระเบียบ 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 >> แต่ก็ยังคงบิต underwhelming 609 00:27:37,440 --> 00:27:41,210 ลองเปิดรุ่น สอง Frosh IMs ซึ่ง 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 IMs 2 613 00:27:50,780 --> 00:27:53,050 แต่ใน Frosh IMs 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 เห็นได้ชัดว่าบางสิ่งบางอย่างเกี่ยวกับ ที่จะเกิดขึ้นกับ Gmail 622 00:28:08,560 --> 00:28:09,600 เราจะได้รับมี 623 00:28:09,600 --> 00:28:11,900 >> ดังนั้น Frosh IMs 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 IMs 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 มีฐานข้อมูลไม่เป็น ไม่มีกระดาษคำนวณของ Excel 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 >> และถ้าคุณได้โปรแกรมใน Java หรือ 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 >> นี้ไม่ได้ชี้ต่อ se 665 00:30:11,900 --> 00:30:13,990 PHP เพียงใช้ไวยากรณ์เดียวกัน 666 00:30:13,990 --> 00:30:17,660 บรรทัดนี้จะบอกการใช้งาน SMTP-- ธรรมดา Mail Transfer 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 และฉันก็คิดว่าออกโดย googling หรือโดยขอให้ช่วยโต๊ะ 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 แม้ว่าทุกคนสามารถส่งไปพูดไป ฉันจะเปิดใช้โปรโตคอล 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 นี่คือวิธีที่คุณส่งข้อความคน ว่าพวกเขามี Facebook ใหม่ 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 ได้รับเป็นอย่างดีจาก Davin หรือคนอื่น 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 ดังนั้นในการใด ๆ case-- เล็กน้อย หลังจากที่คณะกรรมการเอ็ดได้ 714 00:32:36,940 --> 00:32:42,300 >> ดังนั้นในกรณีใด ๆ ที่มี ทั้งกลุ่ม Globals ซุปเปอร์ 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 Internet Explorer หรือ ไอคอน Firefox หยุดหมุน 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 ไม่มีการเชื่อมต่อมากขึ้นซึ่งแตกต่างจาก Skype, ซึ่งแตกต่างจาก 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 เช่น Facebook Chat และ 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 สิ่งเล็ก ๆ น้อย ๆ หมุนเคยให้ สั้น ๆ ขึ้นด้านบนแล้ว disconnects, 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 ดังนั้นมันจะเปิดออกว่านี้ ตรงนี้ภาชนะพิเศษ 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 IMs ไป 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 >> และคนเหล่านี้ตรงนี้ เดิมออกมา 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 และ whatnot เพื่อที่ฉันสามารถ ชนิดของยืมไวยากรณ์ของพวกเขา 795 00:36:53,740 --> 00:36:56,157 และไม่ต้องที่จะคิดออก วิธีการวางรูปแบบของฉัน 796 00:36:56,157 --> 00:36:57,990 นี้ minified ยัง เพื่อให้คอมพิวเตอร์สามารถ 797 00:36:57,990 --> 00:37:00,560 เข้าใจมัน แต่ไม่ จำเป็นของมนุษย์ 798 00:37:00,560 --> 00:37:03,050 ดังนั้นนั่นเป็นเพียงเหตุผลที่ stylization มีการเปลี่ยนแปลง 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 ทั้งหมดที่ฉันได้ทำคือการเชื่อมโยงกับ สมอแท็กไปยัง URL ที่นี่ 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 หนึ่งคือ README ดังนั้นหาก บางส่วนของนี้เร็วเกินไป 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 >> เพื่อที่ว่าทำไมช่วงเวลาที่ผ่านมา เมื่อผมเข้าเยี่ยมชม URL นี้ที่นี่ 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 ที่นี่เพราะมีจริงๆ ไม่มีอะไรที่น่าสนใจที่จะพูดไป 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 มันเป็นเพียงแค่การกำหนดค่าตายตัวหนึ่งสัปดาห์ ที่นี่เพื่อหนึ่งสัปดาห์เมตรและหนึ่งสัปดาห์ W, 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 >> และนั่นคือชนิดของ Takeaway ที่สำคัญ 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 ที่ผมเอาหนึ่ง file-- สันนิษฐานว่า ในสัปดาห์ 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 ยกตัวอย่าง MVC นี้เราจะ อธิบายสิ่งที่ MVC วิธีการใน moment-- 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 และอื่น ๆ ต้องเป็นชนิดเช่นปอนด์ รวมอยู่ในชุดซีมันและวาง 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 คุณต้องจำไว้ว่า สั่งซื้อเท่าไหร่ x, y Z หรือ Z, Y, ค่า 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 แท้จริงมันหมายความว่าเจ้านี่ สะท้อน 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 JavaScript ภายในของหน้าเว็บ 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 >> แต่ถ้าผมไปช่วยเหลือหน้าเว็บ หรือมากกว่า, หน้าส่วนหัว 984 00:46:07,840 --> 00:46:11,310 ฉันโทรฟังก์ชันนี้ ชื่อแรกที่ 985 00:46:11,310 --> 00:46:15,250 ดังนั้นถ้าตอนนี้ผมโหลดหน้าเว็บนี้ผม เห็นนี้ซึ่งมีลักษณะไร้สาระ 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 หรือไม่ระบุชื่อ ในเวลากลางคืน poking รอบในเว็บไซต์ของคุณ 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 ตรงนี้ดีถ้าชื่อตามตัวอักษร ลักษณะเช่นนี้และ 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 ได้รับใบเสนอราคา, unquote, 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 ดังนั้นมันเกิดขึ้นกับผมว่าทำไมไม่ได้ ฉัน parameterize ฟังก์ชั่นเหล่านี้ 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 >> แต่ถ้าผมมองในตอนนี้ Gedit, แจ้งให้ทราบว่าผมเคยกำจัด 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 ฉันมีและแม่แบบ แล้วที่ Readme แฟ้มข้อความ 1054 00:49:38,490 --> 00:49:41,130 >> และเหตุผลที่ฉันได้มีโครงสร้าง มันชอบเจ้านี่และหลาย ๆ เว็บ 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