Laravel: 0 dan Pro gacha – 6-qism: Routing va Middleware
🔁 Kirish
Routing – Laravel’ning eng asosiy qismlaridan biri bo‘lib, so‘rov (request) kelganda qaysi controller yoki view ishlatilishini belgilaydi.
Middleware esa — bu so‘rovlar bilan ishlovchi oraliq qatlam bo‘lib, foydalanuvchini tekshiradi (masalan, u login bo‘lganmi yoki adminmi).
Bu maqolada siz quyidagilarni o‘rganasiz:
-
Routing turlari
-
Named routes
-
Route guruhlari (group)
-
Middleware tushunchasi va uni qo‘llash
🛣 1. Oddiy routing
routes/web.php
faylida quyidagicha yoziladi:
Route::get('/', function () {
return view('welcome');
});
Yoki controller orqali:
use App\Http\Controllers\BlogController;
Route::get('/blog', [BlogController::class, 'index']);
🔖 2. Named routes
Bu yo‘llarni route()
funksiyasi orqali chaqirish uchun qulay:
Route::get('/contact', [PageController::class, 'contact'])->name('contact');
<a href="{{ route('contact') }}">Bog‘lanish</a>
Route::middleware('auth')->prefix('admin')->group(function () {
Route::get('/dashboard', [AdminController::class, 'dashboard'])->name('admin.dashboard');
Route::resource('/posts', AdminPostController::class);
});
🧱 4. Middleware nima?
Middleware – bu request va response oralig‘ida ishlovchi funksiya. Masalan: auth
middleware foydalanuvchi login bo‘lmagan bo‘lsa, uni login sahifasiga yo‘naltiradi.
🔐 5. Middleware bilan yo‘lni himoyalash
Route::get('/profile', [UserController::class, 'profile'])->middleware('auth');
Yoki route guruh bilan:
Route::middleware(['auth', 'verified'])->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
});
});
🧩 6. Custom middleware yaratish
php artisan make:middleware CheckAdmin
app/Http/Middleware/CheckAdmin.php
:
public function handle($request, Closure $next)
{
if (auth()->user()?->is_admin) {
return $next($request);
}
abort(403, 'Sizga ruxsat yo‘q!');
}
Kernel.php
faylga qo‘shing:
'admin' => \App\Http\Middleware\CheckAdmin::class,
Endi ishlatish:
Route::get('/admin-panel', [AdminController::class, 'panel'])->middleware('admin');
📌 Xulosa
Laravel’da routing va middlewarelar ilova xavfsizligini va strukturaviy boshqaruvni soddalashtiradi. Ayniqsa, user rollarini ajratishda middleware juda qulay vositadir.
🏁 7-qismda nimalar bo‘ladi?
7-qismda — Laravel’da Authentication va Register tizimini sozlash haqida yozamiz. Bu orqali siz foydalanuvchilarni ro‘yxatdan o‘tkazish va tizimga kiritishni o‘rganasiz.