درک ساختار دایرکتوری لاراول: مسیرها

laravel routes directory structure
20 آبان 1403

مقدمه‌ای بر دایرکتوری مسیرها در لاراول

لاراول به عنوان یکی از محبوب‌ترین فریم‌ورک‌های PHP، با یک ساختار دایرکتوری سازماندهی‌شده ارائه می‌شود که فهم آن برای توسعه‌دهندگان ضروری است. دایرکتوری routes یکی از بخش‌های کلیدی این ساختار است. این دایرکتوری به عنوان مرکز مدیریت مسیرهای برنامه شما عمل می‌کند که تعیین می‌کند درخواست‌های ورودی چگونه به کنترلرها یا توابع پاسخ مرتبط می‌شوند.

در لاراول، برخلاف برخی دیگر از فریم‌ورک‌ها، مدیریت مسیرهای وب و API از دیگر مسیرها جدا شده است. این کار با تقسیم مسیرها به فایل‌های مستقل در دایرکتوری routes انجام می‌شود. این فایل‌ها اغلب شامل web.php، api.php، و به طور پیش‌فرض در نسخه‌های جدیدتر console.php و channels.php هستند.

جزئیات فایل‌های موجود در دایرکتوری مسیرها

فایل web.php شامل مسیرهایی است که نیاز به مدیریت session و حالت وب اپلیکیشن دارند. معمولاً این فایل برای توسعه اپلیکیشن‌های استاندارد وب استفاده می‌شود. این در حالی است که فایل api.php برای توسعه API‌ها و ارتباطات بدون session به کار می‌رود، به همین دلیل ویژگی‌هایی مانند rate limiting بیشتر در این فایل استفاده می‌شوند.

فایل console.php برای تعریف دستورات کنسولی لاراول استفاده می‌شود. این دستورات می‌توانند برای انجام عملیات مختلفی از طریق CLI کاربرد داشته باشند. از سوی دیگر، channels.php برای ثبت مسیرهای کانال‌های broadcasting استفاده می‌شود و این امکان را به شما می‌دهد تا ویژگی‌های real-time را به اپلیکیشن خود اضافه کنید.

هرکدام از این فایل‌ها دارای اهمیت و کاربرد خاص خود در ساختار لاراول می‌باشند و درک نقش هرکدام برای طراحی و نگهداری بهتر اپلیکیشن‌ها ضروری است.

نحوه استفاده از فایل‌های مسیر

برای تعریف یک مسیر در فایل web.php، کافیست از سینتکس زیر استفاده کنید:


    // routes/web.php
    Route::get('/home', function () {
        return view('home');
    });

در قطعه کد بالا، مسیر /home تعریف شده است که یک تابع ناشناس را اجرا می‌کند و ویوی home را برمی‌گرداند. حال بیایید نگاهی به هر خط این کد بندازیم.

Route::get('/home', function () {
این خط یک GET request به مسیر /home تعریف می‌کند و تابع ناشناس زیر را اجران می‌کند.

return view('home');
این خط ویوی home را برمی‌گرداند که می‌تواند به صورت فایل blade همانند home.blade.php پیاده سازی شده باشد.

});
اینجا پایان تعریف تابع ناشناس و مسیر می‌باشد.

سوالات متداول

؟

چگونه یک مسیر جدید در لاراول تعریف کنیم؟

؟

تفاوت بین web.php و api.php چیست؟

؟

منظور از middleware در مسیرهای لاراول چیست؟