[เล่นเพลง] ERIC โอวหยาง: เฮ้ทุกคน ยินดีต้อนรับ นี้เป็นอาคารแบบไดนามิก Web Apps กับ Laravel ชื่อของฉันคือเอริคโอวหยาง ฉันเป็นนักเรียนปีที่สองเรียนสังคมศึกษา กับรองในวิทยาการคอมพิวเตอร์ และฉันอาศัยอยู่ในอดัมส์ บ้านที่นี่ที่ฮาร์วาร์ ดังนั้น Laravel ที่หลักมากที่สุด เป็นกรอบเว็บแอพพลิเค MVC ดังนั้นชอบสิ่งที่พวกคุณมี รับทำกับ CS50 การคลัง Laravel เป็นกรอบที่ช่วยให้ คุณสามารถสร้างแอพพลิเคเว็บแบบไดนามิก ดังนั้นคุณสามารถคิดว่ามันอยู่ในความรู้สึกบางอย่าง เป็นส่วนขยายของประเภทของสิ่งที่ คุณได้รับการทำใน CS50 การเงิน แต่ระบบที่ จำนวนมากที่แข็งแกร่งมากขึ้นจำนวนมาก สง่างามมากขึ้นในความรู้สึกบางอย่าง และให้มาก ฟังก์ชั่นสำหรับคุณ ในการสร้างที่ค่อนข้างซับซ้อน การใช้งานเว็บ ดังนั้นขอไปผ่านบางส่วน คุณสมบัติที่สำคัญ, แล้วเราจะดำน้ำใน ตัวอย่างของการสร้างบล็อก แอพลิเคชันที่มี Laravel ดังนั้นหนึ่งในสิ่งแรกที่ แตกต่างจากชนิด MVC ของการทำงาน ที่คุณได้รับการทำกับ CS50 มันรวมถึงเครื่องมือการออม ดังนั้นออมย่อมาจากวัตถ​​ุ การทำแผนที่เชิงสัมพันธ์ ดังนั้นนี้จะช่วยให้คุณสามารถสร้าง ชั้นของนามธรรม ระหว่างฐานข้อมูล และตัวควบคุมของคุณ ดังนั้นไม่เหมือนในการเงิน CS50 ที่ คุณโดยตรงทำให้แบบสอบถาม ชั้นออมช่วยให้คุณสามารถ นามธรรมที่อยู่ห่างออกไปและสร้าง รุ่นที่มีประสิทธิภาพมากขึ้นกว่า คุณสามารถโดยตรงกับแบบสอบถาม SQL อีกสิ่งหนึ่งที่จริง เป็นประโยชน์ที่สืบทอดแม่ ดังนั้นคุณจะสังเกตเห็นใน CS50 การคลัง คุณจะสิ้นสุดการเขียนสิ่งต่างๆมากมาย, ที่สถานที่ที่คุณสามารถที่อาจเกิดขึ้น นำมาใช้ในสิ่งที่คุณไม่สามารถที่จะ ดังนั้นที่นี่ใน Laravel คุณสามารถใช้สิ่งที่ ที่รู้จักกันเป็นใบมีดแม่แบบเครื่องยนต์ เพื่อสร้างรูปแบบต้นแบบ และจากนั้นคุณสามารถได้รับมรดก เพื่อให้แม่แบบย่อยสามารถจริง รวมถึงองค์ประกอบภายใน ที่แม่แบบฐานขนาดใหญ่ การย้ายถิ่น ดังนั้นนี่คือคุณสมบัติมาตรฐานเป็นธรรมใน เว็บที่ทันสมัย​​ที่สุดกรอบการประยุกต์ใช้ ดังนั้นนี้ช่วยให้คุณที่จะเป็นตัวแทน การเปลี่ยนแปลงคีมาฐานข้อมูลในรหัส ดังนั้นโดยไม่ต้องไปพูด phpMyAdmin, คุณจริงสามารถสร้างการโยกย้ายเหล่านี้ ที่คุณเป็นตัวแทนของฐานข้อมูล แผนการเปลี่ยนแปลงในรหัสโดยตรง และสิ่งนี้จะช่วยให้คุณ to-- โดยเฉพาะอย่างยิ่ง ถ้าคุณมีคนหลายคนที่ทำงาน ใน application-- เว็บเดียวกัน ติดตามการเปลี่ยนแปลงเหล่านี้ พูดใน GitHub หรือบางพื้นที่เก็บข้อมูลอื่น ๆ ดังนั้นนี้เป็นประโยชน์จริงๆ และลดความจำเป็นในการ กับการพูดการผ่านรอบจำนวนมากทิ้ง SQL และสุดท้ายเป็นนักแต่งเพลง จริงๆสิ่งที่มีประโยชน์จริงๆ ที่ช่วยให้คุณใช้งานอื่น ๆ รหัสของผู้คนที่จะทำสิ่งที่น่ากลัว ดังนั้น Laravel ของโครงสร้างเป็น แพคเกจนักแต่งเพลงหลาย ดังนั้นบอกว่าถ้าคุณต้องการที่จะนำ ในแพคเกจการตรวจสอบ หรือถ้าคุณต้องการที่จะนำมาในบางส่วน การเรียงลำดับของสคริปต์กำเนิดหรือผู้ดูแลระบบ อินเตอร์เฟซที่คุณสามารถเสียบและเล่น ส่วนประกอบที่มีนักแต่งเพลง ดังนั้นขอเริ่มต้น คำถามใด ๆ จากคุณ คนก่อนที่เราจะเริ่มต้น? ไม่มีคำถาม? เย็น ดังนั้นขั้นตอนแรกคือ นักแต่งเพลงที่ติดตั้ง ดังนั้นนักแต่งเพลงที่ช่วยให้คุณสามารถ จัดการอ้างอิงเหล่านี้ ไม่ว่าจะเป็นกรอบ Laravel หรือบางส่วนขยายของบุคคลที่สาม คำสั่งแรกช่วยให้ คุณดาวน์โหลดนักแต่งเพลง และคำสั่งที่สองช่วยให้คุณสามารถ ย้ายไปลงในโฟลเดอร์ถังขยะในพื้นที่ของคุณ เพื่อให้คุณสามารถเรียกใช้นักแต่งเพลง โดยตรงผ่านช่อง หลังจากนั้นไปข้างหน้าและ สร้างโครงการ Laravel ใหม่ เรากำลังจะไปจริง ใช้รหัสตัวอย่างบางส่วน ที่ฉันได้ใส่กัน ในการสร้างบล็อกนี้ แต่ถ้าคุณเริ่มต้นจาก เริ่มต้นที่คุณจะใช้คำสั่งนี้ ขึ้นที่นี่นักแต่งเพลงสร้างโครงการ Laravel เฉือน Laravel แล้ว ชื่อของโครงการของคุณ และที่จะรวมถึง ทุกรหัสกระจาย สำหรับการเริ่มต้นโครงการใหม่ Laravel ดังนั้นสำหรับโครงการสุดท้าย CS50 ของคุณคุณจะ อาจจะต้องการที่จะใช้คำสั่งที่ แต่เรากำลังจะเริ่มต้นกับเรื่องนี้ ดังนั้นเมื่อคุณได้ทำ ที่คุณกำลังจะได้รับ จำนวนค่อนข้างกว้างขวาง ของไฟล์ใน blog50 ดังนั้นขอเพียงแค่ผ่านไป บางส่วนขององค์ประกอบเหล่านี้ คุณจะสังเกตเห็นในเส้นทางนี้ ไดเรกทอรีมีโฟลเดอร์แอพพลิเค ภายในโฟลเดอร์ app ที่มี โฟลเดอร์ที่เป็นประโยชน์ทั้งคู่ โน้ตจะเริ่มต้นด้วย คือโฟลเดอร์การตั้งค่านี้ ดังนั้นชุดนี้ขึ้นมาว่า แอพลิเคชันเว็บของคุณเป็น ไปกับการพูดการรับรองความถูกต้องคนหรือ สิ่งที่เป็นเงินสดหรือเชื่อมต่อกับฐานข้อมูล และสิ่งที่เป็นจริง ที่เป็นประโยชน์คือ Laravel ช่วยให้คุณสามารถตั้งค่าที่แตกต่างกัน การพัฒนาสภาพแวดล้อม ดังนั้นสิ่งที่เราได้ทำที่นี่คือถ้า เราจะไปภายใต้โฟลเดอร์ท้องถิ่น มีไฟล์ database.php และคุณจะสังเกตเห็นว่าเราที่นี่ ตั้งค่าการเชื่อมต่อ MySQL ที่ ช่วยให้บุคคลที่จะเชื่อมต่อ ไปยังเซิร์ฟเวอร์ MySQL ที่ โดยตรงบนเครื่อง CS50 และเรากำลังเชื่อมต่อกับฐานข้อมูล ที่ผมตั้งขึ้นมาเรียกว่า Blog50 ดังนั้นขอให้จริงไปข้างหน้าและ ใช้รุ่นที่ทำงานนี้ เพียงเพื่อให้ได้ความรู้สึกของสิ่งที่ แอพลิเคชันที่เรากำลังสร้าง ดูเหมือนว่า ดังนั้นผมจึงมีสำเนาของ Blog50 นี้เสร็จสมบูรณ์ Laravel ดังนั้นจริง ได้สร้างขึ้นในเซิร์ฟเวอร์ ที่คุณสามารถเรียกใช้โดยตรง จากบรรทัดคำสั่ง ดังนั้นนี้จะคล้ายกับ PSet ก่อนเมื่อคุณจริง สร้างเซิร์ฟเวอร์ของคุณเองใน C. ดังนั้นพวกเขาได้สร้างขึ้นในหนึ่งดังนั้น ที่คุณสามารถเรียกใช้แอพพลิเค Laravel ของคุณ โดยตรงจากบรรทัดคำสั่ง ดังนั้นหากเราทำเช่นช่างฝีมือ PHP ทำหน้าที่นี้ จะเปิดเซิร์ฟเวอร์การพัฒนา บนพอร์ต 8000 ดังนั้นหากเราไปที่โฮสต์ท้องถิ่น 8000 คุณจะสังเกตเห็นว่าเดี๋ยวก่อน เรามีบล็อกของเราและทำงาน ดังนั้น Laravel ที่นี่คือการสร้าง หน้าแรกของบล็อกของเรา โปรแกรมที่ง่ายมาก แต่มีคู่ คุณสมบัติที่ดีจริงๆ ที่จะให้อยู่ใต้ฝากระโปรง ดังนั้นการประยุกต์ใช้บล็อก ซื่อตรง ถ้าเราต้องการที่จะสร้างโพสต์ เราสามารถคลิกที่ปุ่มที่ เราสามารถพูดได้ว่า "เฮ้ทุกคน นี้เป็นที่สนุกจริงๆ สัมมนา "ยกตัวอย่างเช่น และเขียนอะไรบางอย่างลงที่นี่ ข้อความที่นี่ ถ้าเราคลิก Submit คุณจะ สังเกตเห็นว่าบล็อกใหม่ของเรา โพสต์ได้รับการบันทึก หน้าแรกของบล็อก ถ้าเรากลับไปที่นี่คุณจะสังเกตเห็นว่า มีการแสดงความคิดเห็นบางส่วนแล้ว ในบล็อก ดังนั้นหากเราเลื่อนลงคุณจะ สังเกตเห็นว่าโจนาธานกล่าวว่าตาล ว่าเขารู้สึกทึ่งมากโดยโพสต์นี้ ดังนั้นเราจะไปเป็นวิธีการที่วัตถุ การทำแผนที่เชิงสัมพันธ์ช่ว​​ยให้ คุณจะทำอย่างไรกับความสัมพันธ์เหล่านี้ใน เป็นวิธีที่ไร้รอยต่ออย่างเป็นธรรมเช่นกัน เย็น คำถามใด ๆ เกี่ยวกับการทำงาน ของสิ่งที่เรากำลังจะสร้าง? เย็น ดังนั้นขอเริ่มต้นด้วยจริง การสร้างตารางฐานข้อมูล ดังนั้นจำได้ว่าใน CS50 การเงินคุณ ใส่กันตารางสำหรับผู้ใช้ เช่นเดียวกับการ หุ้นในพอร์ตของคุณ ดังนั้นในขณะที่เรากล่าวก่อนหน้านี้ สิ่งที่เราใช้ใน Laravel เป็นสิ่งที่รู้จักกันในชื่อการโยกย้าย ดังนั้นถ้าเรากลับไป รหัสการจัดจำหน่ายที่นี่ คำสั่งแรกที่เป็น ที่เป็นประโยชน์ที่ Laravel ให้คุณ เป็นคำสั่งโยกย้ายนี้ ดังนั้นเราจึงสามารถดำเนินการโยกย้ายช่าง PHP: ทำให้ ดังนั้นนี้ช่วยให้เราสามารถสร้างการย้ายถิ่น และจากนั้นเราจะต้องการ เพื่อสร้างการย้ายถิ่น เรียกว่า create_posts_table, ซึ่งจะ จะเป็นที่ที่เรากำลังจะไป ได้รับการจัดเก็บโพสต์บล็อกของเรา และคุณจะสังเกตเห็นว่าที่นี่มันจะทำงาน ผ่านรห​​ัสบางอย่างที่จริง สร้างไฟล์ที่มี เวลาอยู่กับมัน ดังนั้นถ้าเราไปและมองไปที่ฐานข้อมูล เราจะแจ้งให้ทราบล่วงหน้าภายใต้การโยกย้าย ว่ามันถูกสร้างขึ้น ไฟล์ว่างเปล่าสำหรับเราที่ มีรหัสสำเร็จรูปที่มีชื่อ ที่เราระบุสร้างตารางการโพสต์ และมันก็มีสองหน้าที่ในนั้น ขึ้นเป็นสิ่งที่เราต้องการที่จะทำงานเมื่อ การย้ายถิ่นถูกนำไปใช้กับฐานข้อมูล และลงคือสิ่งที่เรากำลังจะทำ เมื่อเราต้องการที่จะย้อนกลับการย้ายถิ่น ดังนั้นที่นี่ขอเริ่มต้นออก กับการเขียนโยกย้ายนี้ ดังนั้นจึงมีชั้นที่เป็นประโยชน์ ใน Laravel เรียก Schema ดังนั้นเรากำลังจะไปทำงาน Schema :: สร้าง และเรากำลังจะสร้าง ตารางที่เรียกว่าโพสต์ และที่นี่เราใช้นี้โดยใช้ฟังก์ชั่น และภายในที่นี่เรากำลังจะไปจริง ระบุเนื้อหาของตารางของเรา เรากำลังจะสร้าง ID, ซึ่งเป็นอัตโนมัติ incrementing นอกจากนี้เรากำลังจะ เพื่อสร้างฟิลด์ที่ แสดงให้เห็นถึงชื่อของโพสต์บล็อกของเรา เรายังจะสร้างสนาม สำหรับการจัดเก็บข้อความของโพสต์บล็อกของเรา และในที่สุดเราจะ ในการจัดเก็บ timestamps บาง เมื่อโพสต์ของเราถูกสร้างขึ้น และเมื่อมันได้รับการปรับปรุง และสำหรับลงก็ค่อนข้างง่าย ทั้งหมดที่เราต้องการจะทำคือลดลง ตารางที่เราได้สร้างขึ้น ยิ่งใหญ่ คำถามใด? ดังนั้นตอนนี้ถ้าเราไปข้างหน้า and-- จริงโฮสต์ท้องถิ่น ให้ฉันลบสิ่งที่เรามีก่อนหน้านี้ ไปที่ฐานข้อมูล ฉันจะลบสิ่งที่เรามีก่อนหน้านี้ วางนี้และสร้าง ฐานข้อมูลใหม่ Blog50 ดังนั้นตอนนี้สิ่งที่วิเศษ ส่วนที่นี่เป็นที่ที่เรา สามารถใช้การโยกย้ายเหล่านี้ได้โดยตรง กับฐานข้อมูลโดยใช้บรรทัดคำสั่ง เครื่องมือ ดังนั้นหากเราทำ PHP โยกย้ายช่างฝีมือ คุณจะสังเกตเห็นว่าเดี๋ยวก่อน มันสร้างตารางโยกย้าย ซึ่งเราจะมาดูที่ในบิต และจะนำมาใช้การโยกย้ายครั้งแรกนี้ ดังนั้นเราจึงมองไปที่ Blog50 คุณจะสังเกตเห็น ว่ามันสร้างสองตารางสำหรับเรา แรกคือตารางการโยกย้าย ดังนั้นหากเราดูนี้คุณจะสังเกตเห็นว่า ตารางนี้ค่อนข้างตรงไปตรง ก็กล่าวเพียงว่าเดี๋ยวก่อน เราได้นำมาใช้โยกย้ายนี้ เรากลับไปและมองไปที่โพสต์ คุณจะสังเกตเห็นว่าโครงสร้าง เป็นสิ่งที่เราได้ขอให้มัน เรามี ID อัตโนมัติ incrementing เรามีสตริงสำหรับการจัดเก็บ ชื่อและฟิลด์ข้อความ สำหรับการจัดเก็บเนื้อหา ยิ่งใหญ่ เย็น คำถามใด ๆ เกี่ยวกับการโยกย้าย การทำงานวิธีการที่เราสามารถใช้พวกเขา? ไม่มี? เย็น ดังนั้นตอนนี้เรากำลังจะไปข้างหน้า และที่จริงการสร้างแบบจำลอง ดังนั้นเราจึงต้องการที่จะสร้างรูปแบบการโพสต์ที่ เก็บสิ่งที่เป็นนามธรรมของฐานข้อมูล ดังนั้นแทนที่จะทำคำสั่ง MySQL โดยตรงเรากำลังจะสร้าง ดังนั้นเราจึงมีการสร้าง โฟลเดอร์ในรูปแบบที่เรียกว่าที่นี่ และภายในที่นี่เรากำลังจะไป สร้างไฟล์ที่เรียกว่า post.php ภายในไฟล์ PHP นี้ เรากำลังจะสร้าง โพสต์คลาสที่ขยายฝีปาก ฝีปากเป็นชื่อของการออม เครื่องยนต์ที่ Laravel ให้ และในที่นี่เราอาจจะคาดหวังว่า คุณจริงต้องเขียนโค้ดบางส่วน เรากำลังจะเขียนบาง ฟังก์ชั่นช่วยในภายหลัง แต่ออกจากกล่องนี้จะมีอยู่แล้ว คำนึงถึงสิ่งที่อยู่ในฐานข้อมูล และเราสามารถเข้าถึงพูดข้อความ โพสต์บล็อกหรือชื่อของเรา และสร้างสิ่งโดยตรงกับ สวยมากไม่มีรหัสใด ๆ นั่นคือหนึ่งในองค์ประกอบที่มีมนต์ขลัง และลมครั้งเดียวชั้นนี้ จะเปี่ยมมากขึ้นอย่างเต็มที่, เราจะมีข้อมูลเกี่ยวกับสิ่งที่ มันเกี่ยวข้องกับการเพื่อให้การแสดงความคิดเห็น นอกจากนี้ยังมีฟังก์ชั่นการสร้าง เพื่อให้เราสามารถจริง โดยตรงรับ URL ของหน้าโพสต์บล็อก เย็น คำถามใด ๆ เกี่ยวกับที่? เลขที่ เย็น ดังนั้นตอนนี้เมื่อเรามีรูปแบบของเราเรา ต้องการที่จะสร้างตัวควบคุมที่ สามารถติดต่อกับรูปแบบเหล่านี้ และต่อมาฐานข้อมูล ดังนั้นหากเราจะดูที่ BlogController คุณจะ สังเกตเห็นว่ามีไม่ มากที่นี่ในขณะนี้ ทั้งหมดที่มีฟังก์ชั่นดัชนี ที่สร้างหน้าแรก แต่ไม่มีอะไร มีการแสดงเลย ดังนั้นฟังก์ชั่นเป็นครั้งแรก ที่เรากำลังจะสร้าง เป็นสิ่งหนึ่งที่ช่วยให้เรา ในการสร้างบล็อกโพสต์ ดังนั้นเรากำลังจะประกาศ ฟังก์ชั่นใหม่ที่เรียกว่า newPost และภายในที่นี่เพียงที่เรากำลังจะ เพื่อตั้งค่ารูปแบบของหน้านี้ จะต้องมีการแสดงผลรุ่น ถ้าคุณจำจาก CS50, ของแม่แบบนี้เรียกว่า blog.new ซึ่ง เรากำลังจะสร้างในนิด ๆ หน่อย ๆ คุณจะสังเกตเห็นที่นี่ในบรรทัดที่หก เราระบุตัวแปรนี้รูปแบบ และถ้าเราจะดู ที่โฟลเดอร์ครั้ง, มีโฟลเดอร์เค้าโครงซึ่ง รวมถึงไฟล์ HTML ขั้นพื้นฐานมาก และทราบว่าคุณจะสังเกตเห็น ที่เรามีภาชนะ ที่นี่ที่ทำให้เนื้อหา ดังนั้นภายในของแม่แบบของเรา สิ่งที่เรากำลังจะทำ คือการสร้างสิ่งที่เป็นไปได้ แทนโดยตรงในรูปแบบนี้ ดังนั้นเราจึงกล่าวว่าเราต้องการที่จะทำให้ แม่แบบที่เรียกว่า blog.new แต่ภายในของบล็อกมี ยังไม่ได้แม่แบบใหม่นี้ ดังนั้นเรากำลังจะสร้าง ไฟล์ที่เรียกว่า new.blade.php นี้จะบอกว่า Laravel ไฟล์ PHP นี้ควร ไม่สามารถแสดงผลด้วย แม่แบบเครื่องยนต์ใบมีด ดังนั้นนี่คือธรรม แฟ้มตรงไปตรงมา มันจะเป็นรูปแบบที่ เราจริงเพิ่มในการโพสต์บล็อก ดังนั้นมายากลจากที่นี่ มรดกคือว่าเดี๋ยวก่อน เราต้องการที่จะระบุว่า ส่วนส่วนเนื้อหา ที่นี่ซึ่งเป็นคดี โดย @section และ @stop ดังนั้นสิ่งที่อยู่ในระหว่างที่นี่เป็นไปได้ ใช้แทนเป็นรูปแบบหลัก และนี่คือสิ่งที่เราต้องการจะทำคือ มากเพียงแค่สร้างไฟล์ HTML ใหม่ ขอเพียงเพิ่มชื่ออย่างรวดเร็ว เพิ่มโพสต์บล็อก และอยู่ภายในเราไม่ จะสร้างรูปแบบ รูปแบบนี้จะมีการดำเนินการ และนี่จะเป็นบางสิ่งบางอย่าง ที่เราใช้แทนในภายหลัง และเราจะดูว่า เส้นทางพอดีกับที่นี่ แต่เรากำลังจะกำหนดสำหรับในตอนนี้ ที่นี้ไปยัง URL กับเส้นทาง จาก createPost และแล้วนี้เป็นไป ที่จะมีการโพสต์วิธี ภายในที่นี่เรากำลังจะ จะมีสองช่อง div class = "แบบกลุ่ม" เรากำลังใช้ห้องสมุด CSS Bootstrap ให้เกล้าฯโดยทวิตเตอร์ ดังนั้นเรากำลังจะสร้างสองเหล่านี้ ดังนั้นการป้อนข้อมูลเป็นครั้งแรกนี้ จะเป็นชื่อเรื่อง ดังนั้นใส่ชื่อ = "ชื่อเรื่อง" class = "formcontrol" type = "ข้อความ" ฉันจะเพิ่มตัวยึด = "ชื่อเรื่อง" และแล้วคนที่สองเป็น จะเป็นพื้นที่ข้อความ ชื่อ = "เนื้อหา" class = "formcontrol" และยึด = "เขียนที่นี่" มีที่เราจะไป สุดท้ายเรากำลังจะไป เพิ่มปุ่มส่งอย่างรวดเร็ว พิมพ์ = "submit" class = "btn btn-หลัก" ดังนั้นเหล่านี้ทั้งหมด คุณสมบัติของเงินทุนเพื่อ ว่านี้สามารถวาง ออกมาในทางที่ เหยื่อให้กับผู้ใช้ มากกว่า HTML เปล่า ดังนั้นเราจึงได้กำหนดตัวควบคุมที่นี่ เราได้กำหนดมุมมองที่ง่ายมาก แต่สิ่งที่ขาดหายไปคือ เนื้อเยื่อเกี่ยวพัน ดังนั้นที่จุดนี้ Laravel มีความคิดว่าไม่มี เรากำลังจะจริง เข้าถึงตัวควบคุมนี้ ดังนั้นนี้ถูกกำหนดไว้ใน ไฟล์ที่เรียกว่า routes.php และตอนนี้เรามีเส้นทางหนึ่ง ซึ่งเมื่อเราไปที่ เส้นทางกลับบ้านสำหรับเว็บไซต์นี้ มันจะทำให้ ควบคุมดัชนี ดังนั้นนี่คือสิ่งที่เราต้องทำคือการดำเนินการ เส้นทางใหม่สำหรับเราในการสร้างโพสต์ ดังนั้นเราจึงใช้วิธีการนี​​้ ได้รับซึ่งระบุ ที่เมื่อผู้ใช้พยายามที่จะ ได้รับ Page-- นี้โดยเฉพาะ โพสต์เฉือน Page-- ใหม่ สิ่งที่เรากำลังจะทำ มีการใช้ตัวควบคุมที่เรียกว่า BlogController โพสต์ใหม่ หนึ่งที่เราเพิ่งสร้างขึ้น และจากนั้นเรากำลังจะ นามแฝงว่ามันเป็น newPost เรากำลังจะสร้างอีก ฟังก์ชั่นในนิด ๆ หน่อย ๆ แต่สิ่งที่นี่ภายใต้ ที่สำคัญ "ขณะที่" เป็นสิ่งที่ เราสามารถใช้แทนภายใน แม่แบบใบมีดของเรา ดังนั้นสำหรับตอนนี้ขอ จริงยังบอกเส้นทาง ดังนั้นเรายังจะ เพื่อสร้างตัวควบคุม เพื่อให้เราสามารถสร้างโพสต์เหล่านี้ ดังนั้นหากผู้ใช้โพสต์โพสต์หน้า เฉือนใหม่สิ่งที่เรากำลังจะทำ คือใช้ตัวควบคุมที่ เรากำลังจะสร้างในไม่ช้า เรียกว่า BlogController ที่ createPost และเรากำลังจะนามแฝง นี้ด้วยเช่น createPost เย็น คำถามใด? เย็น ดังนั้นขอเรียกใช้สิ่งที่เรามีเพื่อให้ห่างไกล ดังนั้นหากเราทำเช่นช่างฝีมือ PHP ให้บริการ เราจะเห็นจำนวนมากของข้อผิดพลาด ดังนั้นดูเหมือนว่าเรามี ไวยากรณ์ผิดพลาดบนเส้นทางสาย 27 อา ที่ขาดหายไปอัฒภาค ดังนั้นหากเราไปที่ 8,000 คุณจะเห็นอะไรที่นี่เลย ดังนั้นนี่คือหน้าแรกเริ่มต้น แต่ถ้าเราไปโพสต์เฉือนใหม่เดี๋ยวก่อน มันจะเป็นรูปแบบที่เราสร้างขึ้นเพียง ตอนนี้เรายังไม่ได้ ฟังก์ชั่นการใช้งาน เมื่อเรากดปุ่ม Submit ดังนั้นถ้าเราคลิกที่ส่ง ปุ่มก็จะไปทำงานข้อผิดพลาด แต่เรากำลังจะรหัสที่ ตอนนี้สิ่งที่เรา ต้องการที่จะทำเมื่อผู้ใช้ ส่งแบบฟอร์มนี้ ดังนั้นขอให้ทำอย่างนั้น กลับไปที่ไฟล์ตัวควบคุม สิ่งที่เรากำลังจะทำคือ ใช้ฟังก์ชั่นใหม่นี้ ที่ช่วยให้เราในการสร้างโพสต์ ประกาศฟังก์ชั่นใหม่ ฟังก์ชั่นสาธารณะ createPost และฟังก์ชั่นนี้เป็นไปได้ นิด ๆ หน่อย ๆ ที่ซับซ้อนมากขึ้นกว่าสิ่งที่ เรามีมาก่อน แต่คุณจะเห็นว่าที่นี่เราไม่ได้ จะจริงเขียน SQL ใด ๆ ออม, ฝีปาก ออม, เป็นไปเพื่อให้ เราทำเช่นนี้ในบาง วิธีวิธีที่สง่างามมากขึ้น ดังนั้นเรากำลังจะสร้างโพสต์ใหม่ และที่นี่เรากำลัง instantiating วัตถุใหม่ จากรูปแบบที่เราเพียงแค่ สร้างรูปแบบการโพสต์ และสิ่งที่เรากำลังจะทำคือการตั้ง แอตทริบิวต์ชื่อของสิ่งที่ใช้ ที่เราได้รับจากเซิร์ฟเวอร์ ดังนั้นนี่คือคล้ายกับสิ่งที่ เรามีมาก่อนใน CS50 การเงิน ที่เราจะทำโดยใช้ซูเปอร์ โพสต์ทั่วโลกมองหาชื่อ ดังนั้น Laravel ให้สุขาภิบาลบาง และ whatnot โดยใช้ฟังก์ชั่นนี้ช่วย ดังนั้นเราจึงต้องการที่จะใช้นี้แทน ของรูปแบบดิบพื้นฐานมากจาก PHP นี้ และแล้วสิ่งที่เรากำลังจะทำคือการตั้ง เนื้อหาของมันในการป้อนข้อมูลได้รับเนื้อหา เรากำลังจริงจะห่อ ในฟังก์ชั่นที่เป็นประโยชน์ ที่เรียกว่า PHP ให้ nl2br ซึ่ง เปลี่ยนสายใหม่ NLS ลงไปนอนพัก เพื่อให้เราจริงจะมี ย่อหน้าที่แตกต่างกันอยู่ภายใน และในที่สุดสิ่งที่เรากำลังจะ ทำคือการบันทึกโพสต์นี้ ดังนั้นเราจึงเรียกใช้ฟังก์ชัน บันทึกในรูปแบบนี้ เรากำลังจะไปบันทึกการโพสต์ และในที่สุดสิ่งที่เรากำลังจะทำ มีการเปลี่ยนเส้นทางผู้ใช้โดยเฉพาะ ไปยังเส้นทางที่เรากำลังจะไป สร้างช้านามแฝงโดย viewPost และเรากำลังจะผ่านในข้อโต้แย้ง id เป็น ID ของโพสต์ใหม่นี้ ยิ่งใหญ่ ดังนั้นตอนนี้ถ้าเราจริงไปและทำงานนี้ เรากำลังจะไปเพิ่มโพสต์ใหม่ สมมติว่านี้เป็นงานสัมมนา 50 และกล่าวว่าแน่ใจ ASDL อะไรก็ตาม การเรียงลำดับของเนื้อหาบางส่วน และส่ง และเราจะสังเกตเห็นว่า เฮ้ เส้นทางที่ไม่ได้กำหนดไว้ แต่ถ้าเราจะดูที่ phpMyAdmin และ มองหาหรือไม่ว่าการทำงานของเรา ทำอะไร ดูโพสต์ Blog50 เราจะสังเกตเห็นว่าเฮ้ ในความเป็นจริงเราไม่เพียงสร้างบล็อกที่ โพสต์ที่มีการบันทึกเวลาที่ระบุไว้ ดังนั้นตอนนี้ขอกลับไปสร้างจริง ฟังก์ชั่นอื่น ๆ นี้ในการควบคุมของเรา โดยเฉพาะการควบคุม viewPost ฟังก์ชั่นของประชาชนดังนั้น viewPost ดังนั้นนี่คือสิ่งที่เราจะทำแทน ของการมีวงเล็บที่ว่างเปล่า เราจะต้องการที่จะผ่านในประชาชนของ โพสต์ที่เรากำลังสร้าง และจากที่นี่สิ่งที่เรากำลังจะทำ เป็นจริงสอบถามฐานข้อมูลของมัน ดังนั้นถ้าเราจะโพสต์ มีฟังก์ชั่นที่เรียกว่า พบว่าช่วยให้เราสามารถสอบถามได้โดย ID โดยเฉพาะในความเป็นจริงที่เรากำลังจะ ใช้สลับรุ่นนี้เรียกว่า ค้นหาหรือล้มเหลวซึ่งช่วยให้เรา ที่จะลาออกจากฟังก์ชั่นนี้ โยนยกเว้นถ้า ID เราผ่านในไม่อยู่ แล้วเรากำลังจะทำบางสิ่งบางอย่าง คล้ายกับสิ่งที่เราทำก่อนหน้านี้ ที่เรากำหนดเนื้อหา ของหน้านี้จะเป็น รุ่นที่แสดงในมุมมองใหม่นี้ ซึ่งเรากำลังจะสร้าง blog.view และเรากำลังจะผ่านเข้าไปใน พูดไปเช่นเดียวกับใน CS50 ทำให้ ฟังก์ชันพจนานุกรมของตัวแปร คีย์ของอาเรย์นี้ กลายเป็นตัวแปรภายในแม่แบบ ดังนั้นเรากำลังจะทำโพสต์โพสต์ ดังนั้นทางอ้อมผ่านการโพสต์ว่า เราได้สอบถามข้อมูลจากฐานข้อมูล . ตอนนี้สิ่งที่เรากำลังจะ ทำคือการสร้างมุมมองนี้ เพื่อให้เราสามารถดู โพสต์บล็อกที่เราได้สร้างขึ้น ดังนั้นเรากำลังจะสร้าง ไฟล์ที่เรียกว่า view.blade.php ดังนั้นภายในของแม่แบบนี้ สิ่งที่เรากำลังจะทำ จะใส่กันหน้าง่ายๆที่ ช่วยให้เราสามารถแสดงเนื้อหา ดังนั้นเราจึงทำส่วนที่ว่าก่อนที่เนื้อหา หยุด และสิ่งที่เรากำลังจะ ที่จะทำภายในที่นี่ เขียน HTML เพื่อแสดงหน้านี้บางส่วน ดังนั้นเราจะห่อมันด้วยแฟนซี องค์ประกอบ HTML5 ใหม่ที่เรียกว่าบทความ และในที่นี่เรากำลังจะ ที่จะมีส่วนหัวที่ เรากำลังจะไปก็ต้อง h1, ซึ่งรวมถึงชื่อโพสต์ ดังนั้นที่นี่ถ้าเราดูที่นี้ สัญกรณ์วงเล็บปีกกาคู่ นี้จะทำอย่างเป็นธรรมชาติ PHP echo โพสต์ชื่อ ดังนั้นจึงเป็นชวเลขเป็นประโยชน์ ที่ Laravel ให้เรา ดังนั้นเรากำลังจะใช้ สัญกรณ์นี้แทน และที่นี่เรากำลังจะไปยัง พิมพ์เนื้อหาของมัน และในที่นี่เรากำลังจะ ที่จะทำโพสต์เนื้อหา และลงที่ด้านล่างสิ่งที่เรากำลัง จะทำคือการสร้างส่วนท้าย และในส่วนท้ายที่เรากำลังจะไป การแสดงผลครั้งแรกเมื่อนี้ถูกโพสต์ ดังนั้นนี้ถูกโพสต์ที่สร้างขึ้นใน และ Laravel ใช้ดีจริงๆ ห้องสมุดที่เรียกว่าคาร์บอน ดังนั้นเราจึงสามารถจริงทำสิ่งที่เรียกว่า difforHumans ที่คุณเห็นก่อนหน้านี้ เมื่อเราโพสต์ มันจะพูดว่า เช่นห้าวินาทีที่ผ่านมา ดังนั้นนี่คือดีจริงๆ การทำงานของ Laravel และในที่สุดเราจะ เพื่อปิดส่วนท้ายนี้ ดังนั้นตอนนี้ถ้าเรากลับไป หน้าแรกที่เรากำลังจะ จะเห็นอะไรที่นี่ยังเพราะ เรายังไม่ได้เข้ารหัสขึ้นหน้าแรก แต่ถ้าเราไปโพสต์หนึ่งเฉือน เรากำลังจะไปดูข้อยกเว้น ไม่มีใครรู้ว่าทำไม เราเห็นข้อยกเว้น? สิ่งที่เรากำลังขาดหายไป? ความคิดใด? ดังนั้นสิ่งที่เราทำไม่ได้ ก่อนหน้านี้สำหรับเราจริง เพื่อกำหนดวิธีการที่เราจะได้รับการ ควบคุมโดยเฉพาะ? ลำโพง 1: เส้นทาง? ERIC โอวหยาง: ใช่ ดังนั้นเราจึงยังคงต้องกำหนดเส้นทาง ดังนั้นเราจึงกลับไปที่นี่เพื่อ routes.php คุณจะสังเกตเห็นว่าเรา ยังไม่ได้กำหนดไว้จริง วิธีการที่เรากำลังจะได้รับ ไปยังตัวควบคุมนี้ ดังนั้นตอนนี้เรากำลังจะกำหนดเส้นทางนี้ มันตรงไปตรงมาเป็นธรรม คล้ายกับสิ่งที่เราทำก่อนหน้านี้ แต่สิ่งที่เรากำลังจะสังเกตเห็นที่นี่ ที่เรากำลังจะมีตัวยึด ดังนั้นหากเราทำเฉือน route.get ID โพสต์ ID ดังนั้นตอนนี้คือสิ่งที่เป็นไป จะผ่านเข้ามาในตัวควบคุม นี้จะใช้ ควบคุมว่าเราเพียงแค่ สร้าง BlogController ที่ viewPost และเรากำลังจะไป นามแฝงนี้เป็น viewPost ยิ่งใหญ่ ดังนั้นตอนนี้เรากำลังจะสร้างเส้นทางนี้ ดังนั้นตอนนี้ถ้าเราไปที่นี่ และรีเฟรชหน้านี้ เราในความเป็นจริงจะมีบล็อกใหม่ของเราโพสต์ ดังนั้นนี่คือสิ่งที่เราสร้างไว้ก่อนหน้า หน้าง่ายมาก แต่แสดง โพสต์บล็อกที่เราสร้างขึ้นเพียง เย็น และถ้าเราจริงไปผ่านทั้ง กระบวนการของการสร้างบล็อกโพสต์ใหม่ เราจะสังเกตเห็นว่าทุกอย่าง เปลี่ยนเส้นทางอย่างถูกต้อง ถ้าผมพูดว่า "สวัสดี ฉันโจนาธานตาล. " กล่าวว่า "นี่คือการโพสต์บล็อกของฉัน." และส่งไปนี้จะสร้าง โพสต์บล็อกใหม่นี้มี ID ที่ 2 ซึ่งเพิ่มขึ้นจากสิ่งที่เรามี ก่อนหน้านี้และแสดงได้อย่างถูกต้อง น่ากลัว คำถามใด? ใช่? ลำโพงที่ 2: จะจัดการ Laravel การรักษาสุขอนามัยและทุกอย่างสำหรับคุณ? ERIC โอวหยาง: ใช่ ดังนั้นเมื่อเราเห็นก่อนหน้านี้เมื่อ เราทำลำไส้ใหญ่ลำไส้ใหญ่การป้อนข้อมูลได้รับ ที่ sanitates SQL ใด ๆ ฉีดและ whatnot ที่เราอาจต้องการที่จะดำเนินการหาก เราใช้ที่เป็นอันตรายของเว็บไซต์ ดังนั้น Laravel จัดการจำนวนมาก จากการที่อยู่เบื้องหลัง คำถามที่ดี ดังนั้นลองมาดูที่หน้าแรก ดังนั้นถ้าครั้งแรกที่เราจะกลับไป ควบคุมสำหรับหน้าแรก คุณจะสังเกตเห็นว่ามัน ไม่ได้ทำมากที่นี่ คุณจะสังเกตเห็นว่าเราไม่ได้ ผ่านเข้าไปในตัวควบคุมนี้ อะไรที่เป็นประโยชน์โดยเฉพาะอย่างยิ่ง มันเป็นเพียงแฟ้มดัชนีนี้ ดังนั้นขอให้ผ่านเข้าไปใน บางสิ่งบางอย่างที่เป็นประโยชน์นี้ และโดยเฉพาะเราไม่ จะผ่านในการโพสต์ และช่วยให้เรา Laravel ที่จะทำโพสต์ทั้งหมดซึ่ง จะช่วยให้เราได้รับข้อความที่ตอบ ตอนนี้ถ้าเรากลับไป index.php คุณจะเห็นเฮ้ ไม่มีอะไรที่นี่เลย แต่สิ่งที่เราต้องการจะทำที่นี่ เป็นจริงย้ำผ่าน ทำห่วง foreach กว่าการโพสต์ว่า ช่วยให้เราสามารถพิมพ์ออกมาโพสต์ โพสต์ foreach ดังนั้น โพสต์สิ่งที่เราต้องการจะทำ จะพิมพ์ออกมาเนื้อหา โพสต์บล็อก แต่สิ่งหนึ่งที่คุณจะสังเกตได้ว่า เราจริงเขียนมากที่สุดของรหัสที่ แล้วใน view.blade.php ดังนั้นสิ่งที่เรากำลังจะทำเป็นจริง ใช้คุณลักษณะที่เป็นประโยชน์ที่ดีของใบมีด และปัจจัยที่ออกรหัสนี้ร่วมกัน ดังนั้นเราจึงไปที่นี่ เรากำลังจะนำเนื้อหานี้ ที่นี่และสิ่งที่เรากำลังจะทำ คือการสร้างโฟลเดอร์ใหม่ ขอเพียงเรียกว่า Partials และในที่นี่เรากำลังจะ เพื่อสร้าง post.blade.php ดังนั้นที่นี่เราเอาเรื่องออกวิธีการในการ ซึ่งเราต้องการแสดงโพสต์เหล่านี้ และนี่คือสิ่งที่เราจะทำแทน ที่จริงต้อง HTM​​L โดยตรง เรากำลังจะใช้คำสั่งนี้ รวมถึงการเรียก blog.partials.post และสิ่งที่เรากำลังจะทำที่นี่ จะผ่านในโพสต์ของหน้า ดังนั้นตอนนี้ถ้าเรากลับไปที่นี่เราจะ แจ้งให้ทราบว่าการทำงานยังคงเป็น เดียวกัน แต่ตอนนี้เรามีนี้ ปัจจัยออกรหัส, HTML นี้ ดังนั้นเราจึงสามารถใช้งานได้ในดัชนี ดังนั้นที่นี่นี้เป็นตรงไปตรงมามาก ทั้งหมดที่เราทำคือการรวม blog.partials.post และอาเรย์ และบางแห่งที่จะ ก่อนที่เราจะโพสต์โพสต์ ดังนั้นตอนนี้ถ้าเรากลับไปที่ หน้าแรกเราจะเห็นว่าเดี๋ยวก่อน เรามีรายชื่อของ บล็อกโพสต์ที่เรามีมาก่อน เราอาจต้องการที่จะเพิ่มบาง "ถ้า" เงื่อนไขและ "อื่น" เงื่อนไข เพื่อที่ว่าถ้าเราไม่ได้มี อะไรในบล็อก เราต้องการที่จะแสดงสิ่งที่เป็นประโยชน์ เช่นเดียวกับเฮ้ มีเนื้อหาไม่ได้เลยในบล็อก และถ้าพวกคุณจริงดู รหัสกระจายบน GitHub, คุณจะเห็นตัวอย่างของวิธีการที่เราทำอย่างนั้น เย็น คำถามใด? ใช่ ลำโพงที่ 2: ผมคิดว่าเพียงแค่ คำถามพื้นฐาน กลับไปที่เส้นทาง ERIC โอวหยาง: ใช่ ถ้าเราใช้เวลาดูที่เส้นทาง ลำโพงที่ 2: ในกรณีที่ไม่ uses.blogcontroller ที่สร้างการโพสต์ สิ่งที่ไม่ว่าโดยตรงเราไป? ERIC โอวหยาง: ใช่ ใช่ ลำโพง 2: หรือสิ่งที่เป็น that-- ERIC โอวหยาง: ดังนั้นจะดูพูด ตัวอย่างเช่นเส้นทางนี้ที่นี่ ส่วนแรกคือที่เกิดขึ้นจริง URL ที่ผู้ใช้จะไป และอาเรย์ที่นี่นี้ อาเรย์, กำหนด วิธีการที่เราต้องการที่จะมี กระทำการประยุกต์ใช้ในการตอบสนองต่อมัน ดังนั้นจะใช้เป็นตัวควบคุม, ฟังก์ชั่นที่เรา ต้องการที่จะเรียกเมื่อ ผู้ใช้ไปที่ URL นี้ ดังนั้น viewPost ขวาที่นี่เป็น ฟังก์ชั่นที่เรากำหนดไว้ภายใน ของ BlogController-- ลำโพงที่ 2: ฉันเห็น ERIC โอวหยาง: --so ที่เรา จริงสามารถทำให้มุมมอง ดำเนินการคำนวณบางอย่าง โต้ตอบกับฐานข้อมูล SQL ลำโพงที่ 2: ตกลง ERIC โอวหยาง: และแล้วอื่น ๆ ส่วนหนึ่ง "เป็น" เป็นนามแฝงที่เราใช้ ดังนั้นหากเราแจ้งให้ทราบเมื่อ เราได้สร้างรูปแบบ คุณจะสังเกตเห็นว่า URL :: routecreatePost ดังนั้นมันจะเป็นตัวที่เกิดขึ้นจริงใน URL เพื่อให้เราไม่ได้ยาก เหล่านี้ในการเข้ารหัสเพื่อให้เราสามารถเปลี่ยนมัน ครั้งเดียวบอกว่าถ้าเราต้องการที่จะเปลี่ยนชื่อ แทนการเฉือนโพสต์ ใหม่ที่เราต้องการที่จะทำเช่นเดียวกับพี เฉือนใหม่เพียงในการทำความสะอาด ขึ้น URL ที่เราบิต เราจะเปลี่ยนมันในจุดหนึ่งที่ค่อนข้าง กว่าในทุกไฟล์ที่แตกต่างกัน เย็น นั่นเป็นสิ่งที่ดี ดังนั้นตอนนี้เรามีมาก แพลตฟอร์มบล็อกขั้นพื้นฐาน เราอาจต้องการเพิ่มปุ่มเพื่อ ที่จริงเราสามารถสร้างข้อความใหม่ ดังนั้นหากเราจะดู ที่เค้าโครงปริญญาโท เรามีส่วนที่เรียกว่าหัวขวา ที่เราได้กำหนดไว้เพียงแค่ขึ้นที่ด้านบน ดังนั้นเราจึงสามารถเพิ่มปุ่ม ด้านบนของหัว ดังนั้นถ้าเราไป index.blade.php จริง ทำคือการกำหนดสิ่งที่จะไปภายในของที่นี่ ดังนั้นนี่หัวส่วนขวา สิ่งที่เรากำลังจะทำ คือการเพิ่มปุ่มไปที่ URL ที่กำหนดโดยเส้นทางที่โพสต์ใหม่ เพียงแค่การทำความสะอาดขึ้นและทำให้ มันสวยและเงินทุนทั้งหมด เรากำลังจะทำให้ ปุ่มนี้เริ่มต้น ขอเพียงทำให้มันมีขนาดใหญ่เพื่อความสนุกสนาน และภายในนั้นเราสามารถใส่ข้อความบางส่วน แต่สิ่งที่เงินทุน ให้เป็น glyphicons ดังนั้นเราสามารถเพิ่มในการที่ ดินสอที่ดีที่เราเห็นก่อนหน้านี้ Glyphicon Glyphicon ดินสอ ดังนั้นนี้จะช่วยให้เราสามารถใส่ ไอคอนแทนข้อความ ตอนนี้ถ้าเราไม่หยุดนี้ จะกำหนดส่วนนี้ และเดี๋ยวก่อน เรามีปุ่มที่ดีที่เชื่อมโยงเรา ตรงไปที่หน้าเพิ่มบล็อกโพสต์ ดังนั้นเราจึงมีบล็อกที่ค่อนข้างง่าย เราสามารถเพิ่มสิ่งที่จะมัน แต่สิ่งที่เรามักคาดหวัง จากบล็อกมีการแสดงความคิดเห็น ดังนั้นจึงเป็นสิ่งสำคัญมากสำหรับเราที่จะมี บอกว่าถ้าคนอื่นเข้าชมเว็บไซต์ และจริงๆชอบโพสต์ว่า พวกเขาสามารถมีส่วนร่วมในการอภิปราย กับคนอื่น ๆ ที่มาเยี่ยมชมหน้า ดังนั้นเรากำลังจะไปและสร้าง ตารางฐานข้อมูลใหม่และรุ่นใหม่ เพื่อให้เราสามารถเชื่อมโยง แสดงความคิดเห็นกับกระทู้ ดังนั้นขั้นตอนแรกเช่นเดียวกับก่อน คือการที่เราจำเป็นต้องใช้การย้ายถิ่น ดังนั้นเหมือนก่อนที่เราทำ PHP โยกย้ายช่าง: ทำให้ และเรากำลังจะสร้าง เรียกว่า create_comments_table นี้จะสร้างไฟล์ ที่มีการโยกย้ายใหม่ของเรา และเรากำลังจะไปเช่น ก่อนที่จะกำหนดตารางใหม่ ดังนั้น Schema :: สร้าง ตารางที่เรียกว่าการแสดงความคิดเห็น ฟังก์ชั่นนี้ได้ที่นี่ และภายในตารางนี้สิ่งที่ ที่เรากำลังจะทำคือครั้งแรก เหมือนก่อนกำหนดหมายเลข เพิ่มขึ้นทีละ ID เราจะให้ผู้ใช้สามารถเชื่อมโยง ชื่อของพวกเขาที่มีการแสดงความคิดเห็นโดยเฉพาะอย่างยิ่ง เรากำลังจะมีเนื้อหาบางอย่างที่ ไปพร้อมกับนี้เนื้อหาข้อความ และนี่คือสิ่งที่เรากำลังจะไป ทำบางสิ่งบางอย่างที่แตกต่างกัน เรากำลังจะสร้างจำนวนเต็ม ที่เรียกว่า post_id ซึ่ง จะไปมีความหมายว่าสิ่งที่โพสต์ แสดงความคิดเห็นโดยเฉพาะอย่างยิ่งจะไปด้วย นอกจากนี้เรากำลังจริงจะ ตั้งข้อ จำกัด ที่สำคัญต่างประเทศเกี่ยวกับเรื่องนี้ ดังนั้น MySQL จะบังคับใช้ว่า เราไม่ได้พยายามที่จะ กำหนดหมายเลขแสดงความคิดเห็น 5 โพสต์ 5000 ถ้าเรามีไม่ได้ มี 5,000 โพสต์ในมัน ดังนั้นสิ่งที่เราทำที่นี่ เราทำ post_id ต่างประเทศ เป็นไปได้ที่เกี่ยวข้องกับ ข้อมูล ID จากตารางการโพสต์ และเราจริงจะทำอะไรบางอย่าง ที่เป็นประโยชน์อื่น ๆ ที่เป็น onDelete ดังนั้นหากเราลบบาง โพสต์จากฐานข้อมูล ที่เราต้องการน้ำตก ลบความคิดเห็นเช่นกัน เพราะมันไม่ได้มีประโยชน์มาก ที่เราจะมีความเห็นเกี่ยวกับการโพสต์ ที่ไม่อยู่ และในที่สุดเหมือนเมื่อก่อนเราไม่ จะตั้งเวลาประทับเกี่ยวกับเรื่องนี้ และเช่นเดียวกับก่อนที่เราจะไป มีการย้ายถิ่นกลับเป็น วางตารางการแสดงความคิดเห็น ดังนั้นตอนนี้ถ้าเรากลับไป ไปที่นี่เรากำลังจะ เพื่อให้ทำงานได้โยกย้ายนี้โยกย้ายช่างฝีมือ และตอนนี้ก็นำมาใช้นี้ การย้ายถิ่นที่เราเพิ่งสร้างขึ้น ดังนั้นหากเราดูที่ phpMyAdmin, ที่เราทำในความเป็นจริงในขณะนี้ มีตารางการแสดงความคิดเห็นที่มี โครงสร้างที่เราระบุเพียง ดังนั้นเหมือนก่อนเราไม่ จะสร้างรูปแบบใหม่ ที่เป็นนามธรรมตาราง SQL ที่เราสร้างขึ้นเพียง ดังนั้นขอเพิ่มไฟล์ใหม่ เราจะเรียกมันว่า comment.php และนี้เป็นจริงจะเป็นธรรม ตรงไปตรงมากับการเปลี่ยนแปลงเล็กน้อย จากสิ่งที่เราเคยมีมาก่อน ดังนั้นแสดงความคิดเห็นในชั้นเรียนขยายฝีปาก และสิ่งที่เรากำลังจะ จะทำที่นี่เป็นที่กำหนด ฟังก์ชั่นที่เป็น ความสัมพันธ์กับรุ่นอื่น ๆ ดังนั้นเรากำลังจะมีฟังก์ชั่นโพสต์ ที่นี่ที่ส่งกลับความสัมพันธ์นี้ ดังนั้นเราระบุว่า นี้เป็นของโพสต์ บอกว่ามีการโพสต์ ที่ความคิดเห็นนี้เป็นของ นี้จะต้องมีจริง ทุน P สำหรับรูปแบบ และตอนนี้เพียงแค่พลิกอื่น ๆ ด้านที่เราต้องบอกว่าเดี๋ยวก่อน กระทู้มีความคิดเห็น ดังนั้นสิ่งที่เรากำลังจะทำคือ กำหนดฟังก์ชั่นการแสดงความคิดเห็นของประชาชน และที่นี่จะถูกส่งกลับ นี้มีหลายความคิดเห็น ดังนั้นตอนนี้อย่างน่าอัศจรรย์เมื่อเรามีการโพสต์ เราจะได้รับการแสดงความคิดเห็นแอตทริบิวต์ และมันจะเติมมันมี ข้อมูลจากฐานข้อมูล ดังนั้นขอให้จริงผ่านไปและ เพิ่มคุณลักษณะใหม่ไปยังไฟล์มุมมองของเรา เพื่อให้เราสามารถแสดงทั้ง และสร้างการแสดงความคิดเห็น ดังนั้นเราจะกำหนดส่วนใหม่ ขอเพียงแยกมัน กับกฎแนวนอน มาตรา id = "แสดงความคิดเห็น" สิ่งที่เรากำลังจะทำ นี่คือเหมือนก่อน ย้ำถึงความคิดเห็นทั้งหมด ดังนั้นจริงวิธีการที่เราทำเช่นนี้คือ ที่ผมกล่าวถึงขลังอย่างเป็นธรรม เราจะแสดงความคิดเห็น แล้วเราสามารถทำเช่นนี้สำหรับแต่ละ ห่วงมากกว่ากันแสดงความคิดเห็น และสิ่งที่เรากำลังจะไป ทำคือ div class แสดงความคิดเห็น และเรากำลังจะไปจริง พิมพ์ออกมาแสดงความคิดเห็นนี้ ดังนั้นแสดงว่าเดี๋ยวก่อน แสดงความคิดเห็น name-- บุคคล ที่โพสต์ comment-- นี้ กล่าว dot dot dot เรากำลังจะไปใส่ในบล็อก อ้างเพียงเพื่อให้มันดูดี และจากนั้นก็แสดงความคิดเห็นอ้างบล็อกเนื้อหา และ foreach ดังนั้นตอนนี้จะห่วง ผ่านความเห็นทั้งหมด ที่เกี่ยวข้อง กับแต่ละโพสต์ และแสดงความคิดเห็นของแต่ละคนเหล่านั้น ฉันจะเพิ่มส่วนอื่นลง ที่นี่ซึ่งช่วยให้เราสามารถเพิ่มความคิดเห็น ชั้น h3 ดังนั้น ใส่ชื่อที่นี่ เพิ่มความคิดเห็น และเรากำลังจะกำหนดรูปแบบใหม่ ดังนั้นเหมือนก่อนเราไม่ จะทำรูปแบบการดำเนินการ และนี่คือการดำเนินการใหม่เป็นเรา จะกำหนดตัวควบคุมใหม่ที่ ช่วยให้เราสามารถตอบสนองต่อการโพสต์ การร้องขอสำหรับการสร้างการแสดงความคิดเห็น ดังนั้น URL :: เส้นทาง createComment ฉันจะผ่านในพารามิเตอร์ที่นี่ ID ของโพสต์ที่ เรากำลังสร้างความเห็นเกี่ยวกับ และจากนั้นวิธีการนี​​้ รูปแบบที่เป็นไปได้โพสต์ ตอนนี้เรากำลังจะเพิ่มใน สองช่องกลุ่มรูปแบบ นี้เป็นไปได้ด้วยการป้อนข้อมูล ชื่อ "ชื่อ" และ class = "รูปแบบการควบคุม" พิมพ์ = "ข้อความ" และมี ตัวยึด = "ชื่อของคุณ." เรายังจะไปกำหนด ข้อมูลอีกรูปแบบหนึ่งซึ่ง เป็นไปได้ข้อความ พื้นที่ที่เราเคยมีมาก่อน เช่นเดียวกับก่อนที่จะเรียกว่าเนื้อหา class = "รูปแบบการควบคุม." ตัวยึด = "เขียนที่นี่." และเพียงเพื่อให้เรา จริงสามารถส่งมัน ส่งชนิดและ class = "btn btn-หลัก." ปิดแบบฟอร์ม ปิดการดำเนินการนี​​้ ดังนั้นตอนนี้ถ้าเรารีเฟรชหน้าเว็บที่นี้ เรามีการพูด, โพสต์โดยเฉพาะอย่างยิ่ง เราต้องรีบูตเครื่องเซิร์ฟเวอร์ PHP ช่างบริการ รีบูตเครื่องนี้ เราต้องกำหนดเส้นทาง แต่ตอนนี้ขอเพียงแค่ใช้เวลานี้ ออกเพื่อให้เราสามารถแสดงให้คุณเห็น สิ่งที่หน้าดูเหมือนแล้ว เราจริงจะสร้างเส้นทางที่ ดังนั้นเฮ้ เรามีรูปแบบใหม่นี้ลงที่นี่ เพื่อให้เราสามารถสร้างการแสดงความคิดเห็น ดังนั้นขอกำหนดจริง ฟังก์ชั่นภายในตัวควบคุม เพื่อให้เราสามารถเพิ่มความคิดเห็น ลองกลับไป และภายใน blogcontroller.php, สิ่งที่เรากำลังจะทำ คือการสร้างฟังก์ชั่นใหม่ เรียกว่าสร้างความคิดเห็น ฟังก์ชั่นสาธารณะ createComment นี้จะมีเพียงครั้งเดียว พารามิเตอร์ ID ของโพสต์ ที่เรากำลังแสดงความคิดเห็นใน และเช่นเดียวกับก่อนที่เราไม่ จะเป็นครั้งแรกได้รับการโพสต์ โพสต์ดังนั้น id findOrfail หลังจากนั้นเราจะ เพื่อสร้างความคิดเห็นใหม่ ดังนั้นแสดงความคิดเห็น = แสดงความคิดเห็น แสดงความคิดเห็นชื่ออินพุต = :: ได้รับชื่อ เนื้อหาที่แสดงความคิดเห็น = บรรทัดใหม่เหมือนกัน เป็นตัวแบ่งการป้อนข้อมูลของ :: รับเนื้อหา และในที่สุดเราจะต้อง เชื่อมโยงกับความคิดเห็นนี้โพสต์ ดังนั้นเรากำลังจะใช้ ฟังก์ชั่นนี้แสดงความคิดเห็น ที่ช่วยให้เราประหยัด ความสัมพันธ์นี้ ดังนั้นตอนนี้ความคิดเห็นนี้จะมี โพสต์โดยอัตโนมัติ ID นอกจากนี้เรายังสามารถตั้งค่ามัน ด้วยตนเอง แต่นี้เป็น ง่ายต่อการอ่านเท่า เป็นฟังก์ชั่นไป และหลังจากที่เราดำเนินการ นี้สิ่งที่เราต้องการจะทำ คือเปลี่ยนเส้นทางผู้ใช้ไปยัง เส้นทางที่ระบุโดย viewPost กับอาร์เรย์ด้วย พารามิเตอร์ของรหัสโพสต์ และตอนนี้เพื่อที่ว่านี้จริง ฟังก์ชั่นที่เราจำเป็นต้องกำหนดเส้นทางนี้ เส้นทาง :: โพสต์ และตอนนี้เรากำลังจะเรียกสิ่งนี้ โพสต์เฉือน ID เฉือนแสดงความคิดเห็น อาร์เรย์ใช้ฟังก์ชั่นใหม่ ที่เราสร้างขึ้นเพียง BlogController CreateComment เป็น createComment ยิ่งใหญ่ ดังนั้นตอนนี้หวังว่าถ้าเรารีเฟรชหน้านี้ และเพิ่มในความคิดเห็นการพูด, เดวิดลัน "หวังว่างานนี้." เสนอ เราในความเป็นจริงมี แสดงความคิดเห็นในโพสต์บล็อกนี้ เย็น ดังนั้นตอนนี้เรามีความเป็นธรรม โพสต์บล็อกการทำงาน เรากำลังจะไป เพิ่มคู่ปรับแต่งเพื่อให้ ว่าเรามีบางอย่างที่มีประโยชน์มากขึ้น ข้อมูลเกี่ยวกับการโพสต์เหล่านี้ ดังนั้นถ้าเรากลับไป หน้าเรามีความรู้สึกไม่ กี่ความคิดเห็นเป็น ในแต่ละโพสต์เหล่านี้ ดังนั้นสิ่งที่เรากำลังจะจริง ที่จะทำคือภายในรูปแบบของเรา กำหนดฟังก์ชั่นที่ช่วยให้ผู้ช่วย ที่เราจะระบุจำนวนของความคิดเห็น ที่ไปกับการโพสต์โดยเฉพาะอย่างยิ่ง ดังนั้นเรากำลังจะสร้าง ฟังก์ชั่นช่วย ฟังก์ชั่นที่สาธารณะ GetNumCommentsStr ดังนั้นสตริงที่ระบุจำนวน แสดงความคิดเห็นที่ไปพร้อมกับมัน และสิ่งที่เรากำลังจะทำคือการพูด ที่ num = ความคิดเห็นนี้นับ ดังนั้นเราจะนับ จำนวนของความคิดเห็น และถ้าตัวเลขนี้เท่ากับ 1 เราไม่ เพิ่งจะกลับมาความคิดเห็นที่ 1 และจากนั้นก็เป็นอย่างอื่นเราต้องการที่จะกลับมา กำหนดการ num และความคิดเห็นที่ ดังนั้นเราจึงได้รับ pluralization ที่ถูกต้อง เพียงแค่ทำให้เรื่องนี้เป็นคำพูดเดียว ความคิดเห็นหนึ่ง และตอนนี้เราสามารถใช้ฟังก์ชั่นนี้ โดยตรงภายในของมุมมองของเรา ดังนั้นถ้าเรากลับไป โพสต์บางส่วนที่เราสร้างขึ้น ตอนนี้เราต้องการที่จะเป็นจริง แสดงจำนวนของความคิดเห็น ดังนั้นสิ่งที่เราสามารถทำได้คือ โพสต์ใช้ฟังก์ชั่นนี้ ที่เราเพิ่งสร้างขึ้นเพื่อ แสดงจำนวนของความคิดเห็น ดังนั้นถ้าตอนนี้เรารีเฟรชมัน ไม่ในความเป็นจริงการแสดงผล ความคิดเห็นจำนวน ที่ไปพร้อมกับมัน ถ้าเราต้องการที่จะเป็นแฟนซีถ้าคุณ จริงดูรหัสกระจาย เราสามารถเชื่อมโยง นี้เพื่อแสดงความคิดเห็น ถ้าคุณจำที่เรากำหนดไว้ใน ดูว่าเรื่องนี้ยังไม่มีความคิดเห็น ID ส่วน ดังนั้นหากเราต้องการจริงที่จะเชื่อมโยง โดยตรงกับส่วนความเห็นสิ่งที่ เราจะทำนี่คือ href URL ของเส้นทาง viewPost ผ่านใน ID อาร์เรย์ของรหัสโพสต์ แล้วเราอยากจะไป โดยเฉพาะส่วนความเห็น ที่นี่ขอปิดแท็ก ดังนั้นตอนนี้ถ้าเราฟื้นฟูนี้ หน้าเราคลิกที่นี้ เราจะไป ส่วนความเห็น ถ้าเรามีการโพสต์อีกต่อไปคุณสามารถ จริงเห็นนี้เด้งลง แต่คุณจะสังเกตเห็นว่ามันเป็น ไม่ได้อยู่ที่ด้านบนของหน้า เย็น ยิ่งใหญ่ เพื่อให้เป็นธรรมตรงไปตรง ตัวอย่างของสิ่งที่ง่าย ที่คุณสามารถทำอะไรกับ Laravel แต่คุณสามารถสังเกตเห็นว่าที่นี่ ที่เราได้ทำสิ่งต่างๆมากมาย มีจำนวนน้อยที่เป็นธรรมของรหัส Laravel ช่วยให้เราที่จะทำ แบบสอบถาม SQL เบื้องหลัง มันไม่สุขาภิบาล สำหรับเราอยู่เบื้องหลัง ช่วยให้เราสามารถทำความสัมพันธ์เหล่านี้ ได้อย่างง่ายดายโดยไม่ต้องเราต้อง ที่จะทำ SQL ใด ๆ เข้าร่วมงบ รวมความเห็นกับสิ่งที่โพสต์ ช่วยให้เราสามารถทำเช่นนี้ มรดกของแม่ เพื่อให้เราสามารถกำหนดรังเหล่านี้ ไฟล์ดังนั้นเราจะไม่ทำซ้ำตัวเอง เช่นเดียวกับเมื่อเราได้ที่ การแสดงผลของโพสต์บล็อก ที่เราจะได้ไม่ต้อง คัดลอกและวางโค้ด และจากที่นี่คุณสามารถสร้าง การใช้งานที่มีความซับซ้อนมากขึ้น คุณสามารถจินตนาการถ้าเรา ต้องการที่จะดำเนินการเข้าสู่ระบบใน เราสามารถพูดได้ว่านำบุคคลที่สาม กรอบที่ช่วยให้เราสามารถทำเช่นนั้นได้ มีพวงของพวกเขาคือ ที่มีจริงๆ ที่ดีที่สามารถทำเช่น กู้คืนรหัสผ่าน และมันจะส่ง รีเซ็ตรหัสผ่านอีเมล์ เราสามารถดำเนินการได้รับอนุญาต เพื่อที่จะสามารถสร้างโพสต์ แต่คนอื่นไม่สามารถแก้ไขได้ เราสามารถดำเนินการ ฟังก์ชั่นในการลบข้อความที่ แต่คุณสามารถดูที่นี่ที่เรามีสวย มากทุกองค์ประกอบพื้นฐาน ที่จะสร้างบางจริงๆ, ปพลิเคชันเว็บแบบไดนามิกและน่าตื่นเต้น ดังนั้นกับที่ผมคิดว่าเรากำลังดี อย่าพวกคุณมีคำถามใด ๆ ? ใช่? ลำโพงที่ 3: คุณจะทำอย่างไร ได้รับเนื้อหาคงที่ ERIC โอวหยาง: เนื้อหาคงที่ ดังนั้นคุณจะเห็นก่อนหน้านั้นเมื่อเรามี ตรงนี้เนื้อหารูปแบบนี้ มุมมองที่ทำให้เรามีนี้ โดยไม่ต้องอาร์เรย์นี้หลังจากนั้น Blog.index เรามีนี้ เป็นเพียงแฟ้มแบบคงที่ ดังนั้นหากเราไม่ผ่าน อะไรที่ไปพร้อมกับมัน มันก็จะทำให้ HTML โดยตรง แต่ถ้าเราผ่านในการเชื่อมโยงนี้ อาร์เรย์ของโพสต์ซึ่งเป็นแบบไดนามิก ดึงออกมาจากฐานข้อมูลของเรา สามารถทำให้หน้าแบบไดนามิก เย็น คำถามใด ๆ ที่อื่น ๆ ? ลำโพงที่ 3: วิธีที่คุณจะเปรียบเทียบ Laravel เพื่อบางทีบางตัวเลือกอื่น ๆ ? ERIC โอวหยาง: แน่นอน ใช่ ดังนั้น Laravel เท่าไหร่ที่ คำถามที่ดี หนึ่งในหลายทางเลือกสำหรับกรอบเว็บ ดังนั้น Ruby on Rails เป็นหนึ่งที่ได้รับความนิยม ผมเชื่อว่าทวิตเตอร์ที่ใช้จะเป็น ดำเนินการด้วย Ruby on Rails ผมคิดว่าพวกเขาได้ตั้งแต่เปลี่ยน มีอยู่คนหนึ่งที่เรียกว่าเป็น FuelPHP ดังนั้น Ruby on Rails ใช้ภาษาทับทิม และดำเนินการจำนวนมากของสิ่ง MVC ที่เราเห็นที่นี่ FuelPHP เป็นกรอบ PHP อื่น Django เป็นหนึ่งในรายการโปรดของฉัน มันเป็นกรอบเว็บสำหรับหลาม ดังนั้นคุณสามารถเขียนแอพพลิเคเว็บของคุณในหลาม ดังนั้นจึงมีตันของตัวเลือกเหล่านี้ Laravel ผมคิดว่าโดย ที่มีขนาดใหญ่เป็นสิทธิที่ชื่นชอบ ตอนนี้สำหรับ PHP เพียงเพราะ ของส่วนประกอบ ที่เราพูดคุยเกี่ยวกับก่อนหน้านี้ นักแต่งเพลงที่มันเปิดใช้งาน มันมีจริงๆ ระบบการออมที่แสดงออก นอกจากนี้ยังมีแม่แบบน่ากลัวจริงๆ ภาษาที่บางส่วนของคนอื่น ๆ เพียงแค่ไม่ได้ให้ และการโยกย้าย การโยกย้ายที่น่ากลัวเช่นกัน เย็น? น่ากลัว ดีขอบคุณมากสำหรับ ดูการสัมมนานี้ และโชคดีในโครงการสุดท้ายของคุณ