สวัสดีครับเหล่า PHP Developer ทุกท่าน ตอนที่ผ่านมาเราได้ทำ Authentication และได้รู้จักกับ ตัวจัดการเส้นทาง หรือ Route กันแล้วนะครับ วันนี้เราจะมาทำความรู้จักกัน Controller กัน ว่าเจ้าตัว Controller มีหน้าที่อะไร และหลักการเขียน Controller ที่ดีกันครับ
หลักการเขียน Controller ที่ดี
1.) ใช้สำหรับรับ - ส่ง request data เช่น get, post, put
2.) ไม่ควรมี code ประมวลผลของ model หรือ html ของ views
3.) ส่งข้อมูลไปให้ view แสดงผล
4.) ใช้เรียก method เกี่ยวกับ models และเรียน component ต่างๆ
ต่อมาเรามาเริ่ม สร้าง Controller สำหรับหน้า profile ของเรากันเลยครับ
การสร้าง controller ง่ายๆ ขั้นตอนแรกให้ทำการเปิด command line ขึ้นมาครับ จากนั้นพิมพ์
php artisan make:controller ProfileController
เมื่อสร้างเสร็จแล้ว ต่อมาให้เราสังเกตใน โฟลเดอร์งานของเรา app / Http / Controllers
จะเจอ controller ที่เราเพิ่งสร้างขึ้นมาเมื้อกี้ครับ
ให้ลองเพิ่ม method ที่ชื่อว่า index แล้วให้ return ไปที่ view home กันครับ
แอ๊ะ! แต่อย่าพึ่งไปรันล่ะ เพราะเรายังไม่ได้กำหนดเส้นทางให้วิ่งมาหาเจ้าตัว controller นี้เลย
เพราะงั้น ให้เราไปที่ route web กันเลยครับ
จากนั้นให้เพิ่ม route ตัวนี้ลงไป หลักการทำงานคือ จะวิ่งไปที่ ProfileController ที่ method index
จากนั้นลองรันดูครับ แล้วลอง ตามด้วย /home จะถูกส่งไปที่ home.blade.php
ต่อมาเดี๋ยวเราลองมาส่งค่า จาก controller ไปแสดงที่ view กันครับ
จากนั้นที่ home controller ให้ทำการเขียนรับ
แล้วลองแสดงผลดูครับ
สังเกตุดูว่า ค่าในตัวแปรจาก controller จะถูกส่งมาแสดง ที่ view
พอเริ่มเห็นประโยน์ ของ controller บ้างหรือยังครับ ถ้าเราเปลี่ยนจากการส่งตัวแปรธรรมดา เป็นการส่งค่ที่ถูก query แล้วไปแสดงผลที่ view หล่ะ
บทต่อไปเรามาเรียรู้การ ดึงข้อมูลหรือการใช้ Eloquent หรือเจ้าตัว query ปกติในแบบ ของ laravel กันครับ
ขอบคุณที่คอยติดตามครับ แล้วพบกันใหม่ในบทต่อไปน้า..........