DOUG LLOYD: บางครั้ง เมื่อเรากำลังเขียนโปรแกรม เราทำในสิ่งอื่น ๆ ทั่วไปดังนั้น บ่อยครั้งและผู้คนจำนวนมาก ทำ idea-- เดียวกันหรือเหมือนกัน สิ่งที่ว่ามันมีชื่อ MVC เป็นสิ่งหนึ่งสิ่งนั้น มันเรียกว่ากระบวนทัศน์การเขียนโปรแกรม มันเรียงลำดับของชอบปฏิบัติที่ดีที่สุด ที่ได้รับการกลั่นลง โดยคนที่พยายามที่จะทำบางสิ่งบางอย่าง ในกรณีนี้การดำเนินการ ระบบการทำงานของหน้า ที่ผู้ใช้โต้ตอบกับ บนเว็บไซต์ที่ซับซ้อนมากขึ้น และจะทำเพื่อทั่วไปว่า ก็ขอแนะนำเป็นมาตรฐาน ที่คนอื่น ๆ อาจจะชอบที่จะปฏิบัติตาม และมีการตั้งค่าที่เฉพาะเจาะจงมากของวิธีการ ว่าจะทำตามกระบวนทัศน์นี้ ดังนั้น MVC เป็นกระบวนทัศน์และเหตุผล เราใช้ก็คือการที่เป็นนามธรรมไปรายละเอียด จากผู้ใช้ บางสิ่งที่ผู้ใช้ ไม่ได้จริงๆต้องดู พวกเขาเพียงแค่ต้องการที่จะมี ประสบการณ์ผู้ใช้ที่ดี และเราไม่จำเป็นต้องมีพวกเขา เข้าถึงทุกไฟล์เดียวว่า ที่มีอยู่บนเว็บเซิร์ฟเวอร์ของเราอาจจะ อาจจะมีบางไฟล์ที่เป็นเพียง ที่ใช้ในการเสริมประสบการณ์ของผู้ใช้ และเพื่อให้เราสามารถนามธรรมเหล่านั้นออกไป เราสามารถจัดเรียงของพวกเขาเพื่อซ่อน ผู้ใช้ไม่สามารถทำงานกับพวกเขา แต่เรา pages-- pages-- ของเรา รู้วิธีที่จะจัดการกับพวกเขา และเรียกพวกเขาหรือบางทีอาจจะต้องการ ต้องการให้พวกเขาหรือสิ่งที่ต้องการที่ แรงจูงใจหลัก สำหรับ MVC คือความปลอดภัยของข้อมูล เพราะ MVC มักจะมาขึ้นมาใน บริบทของการทำงานกับฐานข้อมูล และในการที่เราโดยเฉพาะอย่างยิ่ง ต้องการป้องกันไม่ให้ผู้ใช้ จากฐานข้อมูลที่ส่งผลกระทบโดยตรง เราต้องการที่จะทำทางอ้อม ผ่านการกรองของเรา หรือการทำให้แน่ใจว่าทุกอย่างตกลงโดย เราทำนิด ๆ หน่อย ๆ ของข้อผิดพลาดการตรวจสอบ หรือการตรวจสอบความปลอดภัยก่อนที่เราจะ ส่งไปยังฐานข้อมูลที่ สิ่งที่อาจผิดไปอาจจะ ผิดจริงๆถ้าเราไม่ระวัง ดังนั้น MVC ย่อมาด​​ูรุ่นควบคุม สิ่งใดที่แต่ละเหล่านี้หมายความว่าอย่างไร โดยทั่วไปรูปแบบการเป็นฐานข้อมูลของคุณ มันเป็นเรื่องที่ทุก ข้อมูลสำคัญสำหรับเว็บไซต์ของคุณ ชื่อผู้ใช้ lives-- เข้าสู่ระบบรหัสผ่าน และคุณสามารถปรับปรุงมันหมายถึงมัน ทุกอย่างสวยมากเช่นเดียวกับที่ คุณจะค้นหาฐานข้อมูลที่คุณต้องการขอ ข้อมูลจากฐานข้อมูล นั่นคือ model-- ทั้งหมดของ ข้อมูลที่เว็บไซต์ของคุณมีชีวิตอยู่ มุมมองที่เป็นชนิดเช่น ประสบการณ์ของผู้ใช้ มันเป็นหน้าพวกเขาเห็นหลังจาก พวกเขาได้รับการร้องขอข้อมูล ดังนั้นพวกเขาอาจส่ง information-- เข้าสู่ระบบของพวกเขา ซึ่งพวกเขาจะทำในการควบคุมการ ซึ่งเราจะพูดคุยเกี่ยวกับในครั้งที่สอง พวกเขาอาจจะส่งพวกเขา ข้อมูลเข้าสู่ระบบ และฐานข้อมูลที่มีการสอบถาม ข้อมูลที่มีการร้องขอและ ดึงออกมาจากฐานข้อมูล และแล้วเมื่อผู้ใช้เข้าสู่ระบบ ในการที่พวกเขาเห็นหน้าบ้านของพวกเขา นั่นเป็นมุมมอง OK? และแล้วการควบคุมเป็นสิ่งที่ เรียกว่าตรรกะทางธุรกิจของเว็บไซต์ของคุณ และเป็นเหตุผลทางธุรกิจ หนึ่งในคำเหล่านั้นว่า เป็นประเภทของการท่วม-washy-- ต้องการ สิ่งที่ตรรกะทางธุรกิจหมายความว่าอย่างไร โดยทั่วไปธุรกิจของคุณ ตรรกะเป็น PHP ของคุณ ผู้ใช้ไม่จำเป็นต้อง โดยตรงเห็น PHP ของคุณ แต่ PHP ของคุณน่าจะเป็นสิ่งที่เกิดขึ้น จะทำให้การร้องขอไปยังฐานข้อมูล ดังนั้นผู้ใช้จะป้อนข้อมูล ข้อมูลในมุ​​มมองของ ซึ่งจะบูรณาการควบคุม เช่นเดียวกับที่พวกเขาจะพิมพ์ลงในแบบฟอร์ม วิธีว่ากระบวนการรูปแบบ ข้อมูลเป็นตัวควบคุม นั่นคือ PHP ที่เป็นจริง ทำให้การร้องขอไปยังรูปแบบ และจากนั้นรูปแบบการให้ ข้อมูลให้กับมุมมองของ ซึ่งจะทำให้มันให้กับผู้ใช้ บางทีอาจจะมองเห็นที่ดีที่สุดดังนี้ ดังนั้นที่นี่เรามี ที่นี่เราได้ที่ด้านซ้ายและรุ่นของเรา ดูควบคุมการจัดกระบวนทัศน์ มันทำงานยังไง? us-- user-- ทำให้ ขอไปยังตัวควบคุม เราส่งข้อมูล เช่นตามรูปแบบของ HTTP ขึ้นอยู่กับว่าการควบคุมของ งานเพื่อให้แน่ใจว่า ว่าสิ่งที่ผู้ใช้ที่ได้รับไม่ได้ สิ่งที่จะเกิดความเสียหายรูปแบบ และเพื่อให้การควบคุมเป็นไปได้ ให้แน่ใจว่าตกลงทุกอย่าง มันจะไปดูอย่างระมัดระวัง หากมีข้อผิดพลาดใด ๆ ก็จะหยุดสิ่งที่ เพื่อให้ผู้ใช้ไม่สามารถรับกับรูปแบบ แต่ทุกอย่างสมมติของ ตกลงมันเป็นแบบสอบถามที่ถูกต้อง ตัวควบคุมจะสอบถาม model-- ก็จะขอให้ให้ข้อมูล รูปแบบที่จะให้ ข้อมูลไปยังหน้าเว็บที่เป็นมุมมองหนึ่ง มันจะส่งว่า วิธีแล้วมุมมอง จะเติมข้อมูล ร้องขอจากแบบจำลอง ดังนั้นสำหรับตัวอย่างเช่นถ้าเรากำลังพูดถึง เกี่ยวกับการเข้าสู่หน้า Facebook ของคุณ ตัวอย่างเช่น. มุมมองจะเป็นข้อมูล ที่ออกมาจากรูปแบบที่ หมายถึงเพื่อนและข่าวของคุณ อาหารหรือสิ่งที่ชอบใช่มั้ย? แต่คุณจะไม่เห็นคนอื่นเป็น คุณต้องการจะ getting-- ดังนั้น คุณส่งแบบสอบถาม คุณเข้าสู่ข้ออ้าง model-- ฉันคุณเข้าสู่ระบบไปยังหน้า การใช้ตัวควบคุม ข้อมูลเข้าสู่ระบบของคุณ ที่จะทำให้การร้องขอไปยังรูปแบบที่จะทำให้ แน่ใจว่าคุณมีคนที่คุณบอกว่าคุณเป็น เช่นเดียวกับรูปแบบที่ตกลงใช่ คุณเป็นใครคุณบอกว่าคุณเป็น เพื่อให้ฉันให้ฟีดข่าวของคุณ ฉันจะให้ข้อมูลดิบสำหรับ ฟีดข่าวของคุณไปยังมุมมอง แล้วมุมมองที่ทำให้ สวยประมวลผลในทาง ที่เราใช้ในการแสดง ข้อมูลที่ให้กับผู้ใช้ ขอให้สังเกตการเชื่อมต่อที่ ไม่ได้มีอยู่ในแผนภาพนี้ ไม่มีการเชื่อมต่อโดยตรงเป็น ระหว่างคุณและรูปแบบ มีเสมอบัฟเฟอร์นี้ ควบคุมในด้านการป้อนข้อมูล และมีบัฟเฟอร์ที่ มุมมองในด้านการส่งออก บางทีคุณอาจจะเป็นสิ่งที่ดี คนและดังนั้นบางทีคุณอาจ จะไม่ทำเกิดความเสียหายต่อใด ๆ รูปแบบ แต่บางทีคุณไม่ได้ หรืออาจจะมีใครสักคนที่เป็น ผู้ใช้ที่เป็นอันตรายที่อาจจะ ต้องการที่จะสร้างความเสียหายให้ฐานข้อมูลของคุณอาจจะ ลบทุกอย่างจากฐานข้อมูลของคุณ ซึ่งอาจจะมีราคาแพงมาก เห็นได้ชัดว่ามีข้อมูลของผู้ใช้ is-- มีค่าที่จะมีข้อมูลของผู้ใช้ ดังนั้นถ้าเราไม่ได้ใส่บัฟเฟอร์นี้ โซนระหว่างผู้ใช้และ database-- ผู้ใช้และสิ่ง model-- อาจจะไม่เป็นไปอย่างดีสำหรับเรา และดังนั้นจึงเป็นสิ่งสำคัญที่ มีกระบวนทัศน์ที่นี้ ผู้ใช้สามารถโต้ตอบกับฐานข้อมูล แน่ใจ แต่พวกเขาจะต้องไปผ่านทางเรา ที่จะทำมัน และนั่นคือความคิดโดยทั่วไปกับ MVC มันพยายามที่จะใช้การรักษาความปลอดภัยข้อมูล มันพยายามที่จะปกป้องรูปแบบ โดยไม่ได้ตั้งใจหรือจงใจ ผู้ใช้ที่เป็นอันตราย ดังนั้นสิ่งที่เกิดขึ้นเมื่อ เราใช้กระบวนทัศน์นี้หรือไม่? ดีที่เรากำลังแยกข้อมูล ที่จำเป็นจาก website-- ของเรา model-- จากตรรกะ ที่ดำเนินการเว็บไซต์ของเรา functionality-- controller-- และ จากความงามที่เรียบง่ายและหน้า แม่แบบที่ประกอบด้วยของเรา ผู้ใช้ experience-- มุมมอง สิ่งนี้หมายความว่า? ดีก็หมายความว่าคุณสามารถทำ มุมมองที่มองเห็นให้กับผู้ใช้ คุณสามารถซ่อนรูปแบบออกไป และ controllers-- ผู้ใช้ อาจจะไม่สามารถจัดการได้โดยตรง พวกเขาไม่จำเป็นต้องเข้าถึงโค้ด PHP ของคุณ พวกเขาเพียงต้องการที่จะเห็นรูปแบบ ที่พวกเขาสามารถพิมพ์สิ่งที่อยู่ใน ดังนั้นบางทีรูปแบบคือ มุมมองของตัวควบคุม เป็น PHP ที่แบบฟอร์มส่งไปที่ ควบคุมทำให้แบบสอบถามไปยังรูปแบบ รูปแบบการให้ข้อมูลเพิ่มเติม จะมีมุมมองที่แตกต่างกันที่ แสดงข้อมูลกับคุณ โปรแกรมของคุณสามารถเข้าถึง ทั้งหมดของตรรกะทางธุรกิจของคุณ แต่ผู้ใช้ของคุณไม่สามารถโดยตรง ตรรกะเข้าถึงธุรกิจของคุณ โดยเฉพาะอย่างยิ่งและเป็นหนึ่งในบางที ภาพประกอบที่มองเห็นนี้ คือคุณเคยได้รับ 403 ข้อผิดพลาดที่ต้องห้าม คุณเคยไปที่เว็บ หน้าและมองเห็นได้ 403 ต้องห้าม? มันเป็นประเภทชอบ 404 ไม่พบ พระราชวังต้องห้าม 403 หมายความว่าคุณพยายามที่จะเข้าถึง หน้าเว็บที่คุณไม่ได้มีการเข้าถึง บางทีอาจจะเป็นเว็บไซต์ที่ โดยใช้การแยก MVC ซ่อนไปตรรกะทางธุรกิจที่ ความต้องการที่จะอยู่บนเซิร์ฟเวอร์ในการสั่งซื้อ สำหรับหน้าในการทำงาน แต่ไม่ได้ ต้องการให้คุณเข้าถึงได้โดยตรง ดังนั้นคุณอาจได้รับข้อผิดพลาด 403 พระราชวังต้องห้าม และมันจะไม่ได้เรื่อง ถ้าคุณได้รับการบันทึกไว้ใน ผู้ใช้ไม่สามารถสัมผัสจุดไฟล์ PHP นี้ พวกเขาสามารถสัมผัส นี้และ one-- นี้ หนึ่งที่พวกเขาอาจจะสามารถ touch-- สามารถโต้ตอบกับไฟล์ที่ถูกล็อคลง มากขึ้นโดยทางอ้อมกว่าผู้ใช้ ดังนั้นบางครั้งเราจะเห็นการอนุญาตนี้ ข้อผิดพลาดนี้ 403 พระราชวังต้องห้าม เราไม่เปลี่ยนสิทธิ์วิธีการเพื่อ ว่าสิ่งที่สามารถหรือไม่สามารถมองเห็น? เมื่อเราทำเช่นนี้โดยทั่วไปคือการใช้ คำสั่ง Linux เรียกว่า chmod-- C-H-mod การทำเช่นนี้รูปแบบสวย simple-- chmod สิทธิ์ และไฟล์สิ่งที่คุณต้องการ เพื่อใช้การเปลี่ยนแปลงที่ ดังนั้นบางทีคุณอาจจะเห็นบางสิ่งบางอย่าง เช่น this-- chmod 600 helpers.php หรือบางทีคุณอาจจะได้เห็น chmod this-- บวก x ที่มีไดเรกทอรี เป็นนี้ไม่ได้หมายความว่า? จึงมีสองวิธีที่แตกต่างกัน ที่มักจะมีการอนุญาต นำไปใช้โดยใช้ chmod ครั้งแรกที่เรียกว่า วิธีตัวเลขฐานแปด นี้มักจะนำไปใช้สิทธิ์ ถึงสามประเภทที่แตกต่างกัน ของผู้ใช้ในเวลาเดียวกัน ดังนั้น chmod 711 ไฟล์จะช่วยให้คุณ สิทธิ์ในการอ่านเขียนและดำเนินการ ไฟล์ของคุณจะช่วยให้ others-- เฉพาะ กลุ่มของคุณและ world-- เพียงเรียกใช้ไฟล์ นั่นคือสิ่งที่นี้แปลว่า หมายเลขแรกที่มี คือสิ่งที่คุณสามารถทำได้ จำนวนที่สองคือ สิ่งที่กลุ่มของคุณสามารถทำ และที่สามเป็นสิ่งที่โลกสามารถทำได้ ใครที่เข้ามาเยี่ยมชมเป็นของคุณ หน้าว่าเป็นโลก อะไรคือตัวเลขเหล่านี้ จริงแปลว่า? ดังนั้นเหล่านี้โดยทั่วไปแปลเช่นนี้ หากได้รับอนุญาตเป็น ศูนย์ไม่มีอะไรที่สามารถเกิดขึ้นได้ ถ้ามันเป็นหนึ่งคุณสามารถดำเนินการ file-- ว่าที่อนุญาตของคุณ ถ้ามันเป็นสองคุณสามารถเขียนไฟล์ แต่คุณไม่สามารถทำอะไรอย่างอื่น ถ้ามันเป็นสามคุณ สามารถเขียนและดำเนินการ และอื่น ๆ ที่คุณสามารถดู เจ็ดหมายความว่าคุณสามารถทำทุกอย่าง ดังนั้นทำไมเหล่านี้เรียกว่าตัวเลขฐานแปด? ดีถ้าคุณคิดเกี่ยวกับมัน ที่นี่เหมือน noes และ yeses, และถ้าเราคิดเกี่ยวกับพวกเขา เป็นกล่องสีแดงและสีเขียว บางทีนั่นอาจจะทำให้มันเป็นที่ชัดเจนเล็ก ๆ น้อย ๆ แต่ถ้าเราคิดเกี่ยวกับกล่องสีแดง เป็นศูนย์และกล่องสีเขียวเป็นคนที่ เหล่านี้เป็นจริงเพียงชุด ของเลขฐานสองใช่มั้ย? 000 แปลทศนิยม 0; 001 ทศนิยม 1; 010 เป็นทศนิยม 2 และอื่น ๆ และเพื่อให้เราเรียกฐานแปดเหล่านี้ เพราะมีตัวเลข มีความเป็นไปได้ที่แตกต่างกันแปด มีแปด ตัวเลขที่แตกต่างกันถ้าเรา พูดคุยเกี่ยวกับสาม บิต information-- บิตอ่านการเขียน บิตและรันบิต ดังนั้นตอนนี้คุณสามารถพูดคุยไบนารี ทศนิยมฐานสิบหกและแปด เพื่อให้คุณรู้วิธีการสื่อสารกับ คอมพิวเตอร์ในจำนวนที่แตกต่างกันสี่ ระบบเพื่อให้เป็นเย็นสวย ดังนั้นนอกเหนือจากฐานแปด โครงการที่ได้รับอนุญาตมี นอกจากนี้ยังได้รับการอนุญาตเป็นสัญลักษณ์ รูปแบบที่แตกต่างกันเล็กน้อย และมักจะถูกนำมาใช้ที่ดีที่สุดที่จะใช้หรือ ลบอนุญาตทั่วกระดาน ดังนั้น chmod บวกไฟล์ x อาจเพิ่มที่เหมาะสม ในการดำเนินการกับทั้งสาม ประเภท users-- ตัวเองกลุ่มของคุณและของโลก บวกนั่นคือส่วนที่เพิ่ม สิทธิในการดำเนินการที่เป็น x และความจริงที่ว่ามันใช้ได้กับทุก สามกลุ่มของผู้ใช้จะเป็นที่ ดังนั้น this-- x-- บวกอาจจะ จะเป็นเหมือนกับ chmod 711 ยื่นเพราะถ้าคุณกลับไป ดูรูปแบบตัวเลขฐานแปด, คนและสามัคคีให้เรา สิทธิที่จะดำเนินการแฟ้ม ดังนั้นนี่อาจจะเป็นสิ่งเดียวกัน และคุณสามารถใช้นี้ คู่มืออ้างอิงสำหรับสิ่งที่ สิ่งต่าง ๆ ใน โครงสร้าง chmod ไอเอ็นจีที่มีสัญลักษณ์ รายการที่นี่สีเขียวจะเป็น ที่ทุกตัวอย่างเช่นสีเขียว เป็นครั้งที่สองที่ผ่านมา สีฟ้าจะเป็นสีฟ้า สีส้มจะเป็นสีส้ม เพื่อให้คุณสามารถใช้สิ่งที่คุณ กลุ่มกับคนอื่น ๆ ให้กับผู้ใช้ หรือทุกคน คุณสามารถให้พวกเขาอ่าน เขียนและดำเนินการเข้าถึง และคุณสามารถเพิ่มหรือลบ หรือกำหนดว่าชุด ของสิทธิ์การใช้รูปแบบนี้ เราจะตรวจสอบสิ่งที่ได้อย่างไร ไฟล์โครงการที่ได้รับอนุญาตคือ? ก่อนที่เราจะเปลี่ยนมัน อาจจะดีที่จะรู้จริง สิ่งที่สิทธิ์ของแฟ้มที่มี วิธีหนึ่งที่จะทำเช่นนี้คือการใช้คำสั่ง ls แต่เพียงปรับแต่งมันนิด ๆ หน่อย ๆ ดังนั้นถ้าผมพิมพ์คำสั่ง ls รีบ l-- ที่ตัวพิมพ์เล็ก l-- อาจจะเป็น ฉันจะเห็นอะไรเช่นนี้ มันดูนิด ๆ หน่อย ๆ ที่เป็นความลับ แต่ ส่วนหนึ่งที่เราจริงๆดูแลเกี่ยวกับ เป็นสิ่งที่ด้านซ้ายไปที่นั่นได้ ที่จริงระบุ รูปแบบไฟล์ที่ได้รับอนุญาต และคุณอาจจะสามารถบอกได้เพราะมันเป็น มีอาของ w, และของ x สลับ ผู้ three-- แรก ไม่สนใจคนแรก เป็นครั้งที่สองที่ เราจะกลับไปเป็นสองเท่า บรรดาสามคนแรกหลังจากที่ first-- เพื่อที่สอง ที่สามและสี่ตัวละคร จากการที่สายอักขระ 10 เป็นสิทธิ์ที่คุณมี ดังนั้นเห็นได้ชัดว่าผมสามารถอ่าน เขียน PHP และดำเนินการ ฉันสามารถอ่านเขียนและ รัน PHP WebDev, และผมสามารถอ่านและเขียน test.php กลุ่มของฉันสามารถทำเช่นนี้ ดังนั้นเห็นได้ชัดว่ามีของ PHP และไดเรกทอรี PHP WebDev, กลุ่มของฉันสามารถเขียนไป แต่พวกเขาไม่มีอะไรอื่น และทั่วโลกไม่สามารถทำอะไร ดังนั้นไฟล์เหล่านี้ไม่ได้ ที่สาธารณชนสามารถเข้าถึง และถ้าผมพยายามที่จะ เข้าถึงพวกเขาและผมก็ไม่ได้ ใช้ Apache เพื่อให้พวกเขาสามารถเข้าถึงได้ แล้วฉันจะได้รับข้อผิดพลาด 403 มันเป็นความล้มเหลว ผมพยายามที่จะเข้าถึงไฟล์ แต่ฉัน ไม่มีสิทธิ์ที่จะทำมัน และสิ่งที่เป็นที่ตัวอักษรตัวแรก? ดีคุณอาจจะสามารถคาดการณ์ ที่นี่เป็นที่ของศิลปวัตถุหมายถึงไดเรกทอรี และประหมายถึง ที่เรียกว่า "ไฟล์ปกติ." และบางทีคุณอาจได้เห็นนี้เมื่อคุณได้ พยายามที่จะลบไฟล์โดยใช้ RM คุณเคยเห็นข้อความที่เป็นความลับ "เอาแฟ้มปกติ" - ในกรณีนี้ มันจะ test.php แฟ้มปกติเป็นเพียงแค่สิ่งที่ ที่ไม่ไดเรกทอรี มีคู่ของคนอื่น ๆ ที่มี ที่นี่ แต่โดยทั่วไปคุณ จะไปดู d'สำหรับไดเรกทอรี และไม่มีอะไรสำหรับองค์ประกอบแรก แต่ที่จริงทั้งหมดที่มีให้มัน คุณสามารถตรวจสอบไฟล์ สิทธิ์ในการใช้คำสั่ง ls รีบลิตร, คุณสามารถเปลี่ยนได้โดยใช้ chmod และแน่นอนใช้ these-- การเปลี่ยนแปลงการอนุญาต ในการบังคับใช้กระบวนทัศน์นี้ MVC ไป ปกป้องข้อมูลบนเว็บไซต์ของคุณ และไม่อนุญาตให้ผู้ใช้ ในการเข้าถึงทุกอย่าง แต่สิ่งที่พวกเขาต้องการ ในการเข้าถึงเพื่อให้หน้าเว็บของคุณ ในการทำงานในแบบที่คุณต้องการให้ทำงาน ฉันลอยด์ดั๊ก นี่คือ CS50