มันเป็นปัญหาที่ทำอยู่ในทีมของผมเอง ซึ่งจะเกิดขึ้นเมื่อมีการ Merge code และส่วนที่เป็นปัญหามากที่สุดคือ Route.php file นั่นเอง ทำไมนะหรอ ก็เพราะต่างคนก็สร้าง route ของตัวเองมาอยู่ในไฟล์เดียวกัน ยิ่งนานวันมันก็ยิ่งยาวขึ้นไปเรื่อย ๆ ตอนนี้มันลากยาวไปถึง เกือบ 1500 บรรทัดแล้ว ยิ่งทำหลาย ๆ ยิ่งปวดหัว วันนี้เลยมาแนะนำวิธีการง่าย ๆ ในการสร้างไฟล์ route ขึ้นมาใหม่ โดยที่ไม่ต้องไปยุ่งเกี่ยวกับของเดิม
ก่อนอื่นต้องติดตั้ง Laravel ก่อนนะถ้ายังไม่ติดตั้งก็ให้ทำการติดตั้งให้เรียบร้อยสำหรับวิธีการนั้น ผมได้เขียนไว้ในบทความเก่า ๆ ลองหาดูครับ เอาล่ะหลังจากติดตั้งเสร็ดแล้วก็มาเริ่มกันเลย
สำหรับโครงสร้าง Route เดิม
- app\Http\Route.php
สำหรับโครงสร้างใหม่ ให้เพิ่ม Folder Route เข้ามา ภายใน app\Http
- app\Http\Route\{newFileRoute.php}
ซึ่งภายใต้ folder ใหม่นี้เราสามารถสร้างกี่ไฟล์ก็ได้ ตามที่เราจะต้องการสร้าง เอาล่ะหลังจากสร้างไฟล์เสร็ดแล้วก็ให้ไปเพิ่ม code ที่ app\Providers\RouteServiceProvider.php ด้วยการเพิ่ม code ดังต่อไปนี้
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Define the routes for the application. | |
* | |
* @param \Illuminate\Routing\Router $router | |
* @return void | |
*/ | |
public function map(Router $router) | |
{ | |
// บรรทัดที่เพิ่มเข้ามา | |
$router->group(['namespace' => $this->namespace], function ($router) { | |
require app_path('Http/Routes/newRouteFile.php'); | |
}); | |
$router->group(['namespace' => $this->namespace], function ($router) { | |
require app_path('Http/routes.php'); | |
}); | |
} |
เท่านี้ก็เป็นอันเสร็ดพิธี จากนี้เราก็สามารถเขียน Route เหมือนในไฟล์ Route หลักได้เลย
0 ความคิดเห็น:
แสดงความคิดเห็น