>> [เล่นเพลง]
>> 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 เพียงเพราะ ของส่วนประกอบ
ที่เราพูดคุยเกี่ยวกับก่อนหน้านี้
นักแต่งเพลงที่มันเปิดใช้งาน
มันมีจริงๆ ระบบการออมที่แสดงออก
นอกจากนี้ยังมีแม่แบบน่ากลัวจริงๆ ภาษาที่บางส่วนของคนอื่น ๆ
เพียงแค่ไม่ได้ให้
และการโยกย้าย
การโยกย้ายที่น่ากลัวเช่นกัน
เย็น?
น่ากลัว
ดีขอบคุณมากสำหรับ ดูการสัมมนานี้
และโชคดีในโครงการสุดท้ายของคุณ