สอน Laravel 5.7 : บทที่ 7 หน้าที่และการเขียน Controller

บทเรียนออนไลน์ #256
เขียนโดย :
มีผู้อ่าน : 2,524 คน วันนี้ : 6 คน

สวัสดีครับเหล่า 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 กันครับ

ขอบคุณที่คอยติดตามครับ แล้วพบกันใหม่ในบทต่อไปน้า..........