วิธีการกำหนด Routing ใน Laravel Framework

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

makup
PHP Super Member
PHP Super Member
โพสต์: 398
ลงทะเบียนเมื่อ: 05/10/2020 10:02 am

วิธีการกำหนด Routing ใน Laravel Framework

โพสต์ที่ยังไม่ได้อ่าน โดย makup »

ในบทความนี้ จะมาแนะนำ วิธีการเกี่ยวกับ การกำหนด Routing ใน Laravel Framework , ว่ามีความสะดวกสบายในการใช้งาน มากกว่า การไม่ใช้ Framework เป็นตัวช่วยในการจัดการใดๆเลย , ซึ่งจะทำให้สร้าง URL ง่ายขึ้นกว่าเดิม , และจะเป็นตัวกำหนดเส้นทางของ URL ว่าต้องการให้ไปทำงานตรงส่วนไหนได้บ้าง , และมีการส่งค่าผ่าน id หรือ ตัวแปร ผ่าน URL , และสามารถให้วิ่งไปทำงานร่วมกับ Controller ได้อีกด้วย , เพื่อให้มีการทำงานอย่างเป็นระบบระเบียบมากขึ้น

วิธีการกำหนด Routing ใน Laravel Framework

Step 1 - ให้เข้าไปที่ route\web.php
74.JPG
74.JPG (17.85 KiB) Viewed 5691 times
Step 2 - จะเห็นว่าได้มีการกำหนด routing '/' ผ่าน URL โดยให้แสดงผลที่หน้าแรก , และมีการคืนค่าไปที่หน้า welcome.blade.php
75.JPG
75.JPG (17 KiB) Viewed 5691 times
ตัวอย่าง : Coding

โค้ด: เลือกทั้งหมด

Route::get('/', function () {
return view('welcome');
});


ผลลัพธ์ที่ได้
75-1.JPG
Step 3 - ที่นี้จะเป็นกำหนด Routing ให้วิ่งไปที่ทำงาน Controller และ Function , เพื่อให้การทำงานของ Coding ดูเป็นระเบียบมากขึ้น , หากต้องการกำหนด URL เป็นหน้าแรกของ index ให้ทำการตั้งชื่อ '/' , แล้วให้วิ่งไปที่ Controller_show_airport.php , แล้ววิ่งไปที่ Function index
76.JPG
76.JPG (18.58 KiB) Viewed 5691 times
ตัวอย่าง : Coding

โค้ด: เลือกทั้งหมด

Route::get('/','Controller_show_airport@index'); 
Step 4 - ไปที่ app\Http\Controller_show_airport.php , จะเห็นได้ว่า Function index นั้น มีการคืนค่าไปหน้า showAirport.blade.php , เพื่อต้องการที่จะแสดงผลหน้า views
77.JPG
77.JPG (30.64 KiB) Viewed 5691 times

โค้ด: เลือกทั้งหมด

  public function index()
    {
       return view('showAirport');
    }

การส่งค่า Parameter ผ่าน Routing

Step 1 - จะเป็นการส่งค่า id ผ่าน URL ไป , โดยมีเครื่องหมาย {} ในการส่งค่าไป , โดนให้เข้าไปทำงานที่ Controller_show_airport.php แล้ววิ่งไปที่ Functions test
78.JPG
78.JPG (20.99 KiB) Viewed 5691 times
ตัวอย่าง : Coding

โค้ด: เลือกทั้งหมด

Route::get('/test_id/{id}', 'Controller_show_airport@test');
Step 2 - ในส่วนของ Controller นั้น , Function test ก็จะมีการรับค่า parameter id ที่ถูกส่งผ่าน URL เข้ามาทำงาน , แล้วก็มีการ echo แสดงข้อความออกมาด้วย , โดยดึงค่าตัวแปร $id จาก Parameter เข้ามาแสดงผลด้วย
79.JPG
79.JPG (13.47 KiB) Viewed 5691 times
ตัวอย่าง : Coding

โค้ด: เลือกทั้งหมด

public function test($id)
    {
       echo "This is my ID".$id;
    }
Step 3 - ทำการป้อนค่า id เช่น 1234 ลงไป , ผ่าน URL ใน Web browser นั้นๆ
79-1.JPG
79-1.JPG (11.1 KiB) Viewed 5691 times
ผลลัพธ์ที่ได้
80.JPG
80.JPG (10.99 KiB) Viewed 5691 times

Routing Groups prefix

Step 1 - เป็นการกำหนด Routing โดยใช้ prefix มาเป็นตัวจัดการ , ในการที่เราไม่ต้องตั้งชื่อ Routing ซ้ำๆไปมา

ตัวอย่าง : Coding

โค้ด: เลือกทั้งหมด

Route::get('/showAirline','Controller_show_airline@create');
Route::get('/showAirline/{id}','Controller_show_airline@store');
Route::get('/showAirline/{id}','Controller_show_airline@update');
Route::get('/showAirline/{id}','Controller_show_airline@destroy');
Step 2 - จะเห็นว่า เมื่อมีการใช้ prefix เข้ามาเกี่ยวข้องนั้น จะทำให้การตั้งชื่อ Rounting ดูง่ายขึ้นเยอะ , โดยที่เราไม่จำเป็นต้องตั้งชื่อซ้ำไปมา

ตัวอย่าง : Coding

โค้ด: เลือกทั้งหมด

Route::prefix('showAirline')->group(function () {
	Route::get('','Controller_show_airline@create');
	Route::get('{id}','Controller_show_airline@store');
	Route::get('{id}','Controller_show_airline@update');
	Route::get('{id}','Controller_show_airline@destroy');
});
ข้อสรุป
Routing ใน Laravel นั้นจำเป็นอย่างมาก เพราะ ทุก Request เราต้องควบคุมผ่าน Routing นี้ , ซึ่งใช้งานไปอาจจะดูลำบาก แต่พอใช้งานได้ไปสักพัก จะทำให้รู้สึกว่ามีความสะดวกสบายในการใช้งานมากขึ้น , หากต้องการศึกบทเรียนจาก Laravel Framework เพิ่มเติม สามารถศึกษาได้จากบทเรียนนี้


แหล่งอ้างอิงข้อมูล
https://www.itoffside.com/laravel-ep5-routing/
https://laravel.com/docs/7.x/routing
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 50