تعریف مسیرها و کنترلرها
Routing در لاراول مشخص میکند که هر آدرس (URL) باید به چه کدی متصل شود. تمام مسیرهای وب در فایل routes/web.php تعریف میشوند. سادهترین حالت یک مسیر، اجرای مستقیم یک Closure است:
Route::get('/', function () {
return view('welcome');
});
Route::get('/about', function () {
return 'دربارهی ما';
});
برای پروژههای واقعی معمولاً منطق را به Controller منتقل میکنیم. برای ساخت یک Controller از artisan استفاده میکنیم:
php artisan make:controller PostController
سپس متدهای لازم را داخل آن مینویسیم:
class PostController extends Controller
{
public function index()
{
$posts = Post::all();
return view('posts.index', compact('posts'));
}
public function show($id)
{
$post = Post::findOrFail($id);
return view('posts.show', compact('post'));
}
}
و در فایل مسیرها، این متدها را به آدرسهای مشخص وصل میکنیم:
Route::get('/posts', [PostController::class, 'index']);
Route::get('/posts/{id}', [PostController::class, 'show']);
پارامترهای داخل آکولاد در مسیر، مانند id}{، بهصورت خودکار به آرگومان متد Controller ارسال میشوند. برای گروهبندی مسیرهای پرتکرار (مثل CRUD کامل) میتوان از Route::resource استفاده کرد که در درس API با جزئیات بیشتری بررسی خواهد شد.