Laravel β 0 dan Expertgacha (o'zbek tilida)¶
Bu kitob PHP'ni biladigan o'quvchini Laravel 13 (PHP 8.4) bo'yicha 0 dan ekspert darajasiga olib chiqadi. Har bobda: sodda nazariya β php artisan bilan ishlaydigan kod misollari β 20 ta mashq (o'zingiz bajarasiz). Jami 24 bob, 480 mashq.
π¨ Har bob SVG diagrammalar bilan boyitilgan β MVC oqimi, request quvuri, Eloquent munosabatlari, N+1 muammosi, queue va deploy kabi tushunchalar ko'z bilan ko'rib o'rganiladi.
Qoida: Laravel o'qib emas β qilib o'rganiladi. Har bir artisan buyrug'ini o'z kompyuteringizda tering, har misolni ishga tushiring. Bu kitob zamonaviy slim struktura (Laravel 11+) konvensiyasiga mos β eski
Kernel.php'li darsliklardan farqli.βΉοΈ Bu kitob siz PHP asoslarini (OOP, klasslar, composer) bilasiz deb hisoblaydi. PHP yangi bo'lsa, avval PHP β Mutlaqo Noldan Boshlovchilar Uchun kitobini o'qing.
Qanday o'qish kerak¶
- Boblarni tartib bilan o'qing (01 β 02 β ...). Har biri oldingisiga tayanadi.
- 2-bobda muhitni (PHP 8.4, Composer, baza) o'rnatib, har misolni o'z loyihangizda sinang.
- Har bob oxiridagi 20 ta mashqni o'zingiz bajaring β kodni ko'chirib qo'yish bilan Laravel o'rganilmaydi.
- Diagrammalar arxitekturani tezroq singdiradi β ularga e'tibor bering.
Talab¶
| Kerak | Daraja |
|---|---|
| Kompyuter (Windows / macOS / Linux) | Shart |
| PHP 8.4 + Composer (2-bobda o'rnatamiz) | Shart |
| Baza (MySQL yoki SQLite) | Shart |
| PHP asoslari (OOP, composer) | Shart |
| Oldingi Laravel tajribasi | Shart emas |
I qism β Asoslar¶
| # | Bob | Nima o'rganasiz |
|---|---|---|
| 01 | Laravel nima va nega kerak? | Framework nima va nega kerakligini, Laravel'ning afzalliklarini, MVC arxitekturasini (route β controller β model/view β javob), Laravel beradigan tayyor vositalarni hamda ekosistemani o'rganasiz. |
| 02 | O'rnatish va muhit | Laravel muhitini (PHP 8.4, Composer, baza) tayyorlash, loyiha yaratish, artisan serve, slim 11+ struktura va .env sozlamalarini o'rganasiz. |
| 03 | Routing β marshrutlash | URL'ni kodga ulashni: routes/web.php, GET/POST/PUT/PATCH/DELETE, closure va controller, route parametrlari, named route va route() helper, prefix/middleware guruhlari, route:list va fallback'ni o'rganasiz. |
| 04 | Controllers (kontrollerlar) | Mantiqni route faylidan ajratib, controller klasslarga ko'chirishni; make:controller, Route::resource (7 CRUD metod), invokable, dependency injection va route model binding'ni o'rganasiz. |
| 05 | Blade shablonlari | Blade shablon tizimida HTML'ni xavfsiz, tartibli va takrorsiz yozishni β {{ }} avtomatik escape, @if/@foreach/@forelse, $loop, layout komponenti (x-layout + slot + @props) va @csrf/@auth/@can direktivalarini o'rganasiz. |
| 06 | Request va Response | Foydalanuvchi yuborgan ma'lumotni Request obyekti orqali xavfsiz olish va to'g'ri Response (view, JSON, redirect) qaytarishni: @csrf, old() bilan formani qayta to'ldirish, flash xabar va status kodlarni o'rganasiz. |
II qism β Ma'lumotlar bazasi va Eloquent¶
| # | Bob | Nima o'rganasiz |
|---|---|---|
| 07 | Database va migratsiyalar | Baza strukturasini kod bilan boshqarishni: .env sozlash, migration ("baza versiya nazorati"), schema builder, ustun turlari, foreign key (constrained + cascade), migrate/rollback/fresh va indekslarni o'rganasiz. |
| 08 | Eloquent ORM β asoslar | Eloquent ORM bilan baza ustida qo'lda SQL yozmasdan ishlash: model yasash, CRUD (create/find/where/update/delete), mass assignment xavfsizligi ($fillable), timestamps, casts, Tinker va soft deletes. |
| 09 | Eloquent munosabatlari | Eloquent munosabatlarini: hasOne, hasMany, belongsTo, belongsToMany (pivot jadval, attach/detach/sync, withPivot), hasManyThrough va polimorf (morphMany/morphTo) bog'lanishlarni hamda N+1 muammosiga kirishni o'rganasiz. |
| 10 | Query Builder va ilg'or Eloquent | Query Builder, N+1 muammosi va eager loading (with/load), scope'lar, accessor/mutator va casts, withCount/whereHas hamda katta ma'lumotni chunk/cursor bilan qayta ishlashni o'rganasiz. |
| 11 | Seeder, Factory va Tinker | Namuna ma'lumotni qo'lda emas, kod bilan to'ldirish: Factory bilan soxta-real qatorlar yasash (Faker, state, relation), Seeder bilan bazani ekish va Tinker'da jonli sinashni o'rganasiz. |
III qism β Forma, auth va xavfsizlik¶
| # | Bob | Nima o'rganasiz |
|---|---|---|
| 12 | Validatsiya | Foydalanuvchi ma'lumotini xavfsiz tekshirishni: validate() qoidalari, xatoni @error/old() bilan ko'rsatish, Form Request, custom rule va massiv/nested validatsiyani o'rganasiz. |
| 13 | Autentifikatsiya | Login/register tizimini xavfsiz qurish: starter kit/Fortify/Breeze tanlash, parol hash (bcrypt), Auth facade, auth()->user(), Auth::attempt/login/logout, auth middleware va @auth/@guest direktivalarini o'rganasiz. |
| 14 | Avtorizatsiya (Gates va Policies) | Tizimga kirgan foydalanuvchi har amalni qila olmasligini ta'minlash: Gates va Policies, Gate::authorize(), owner-based ruxsat, @can blade, before() hook, can middleware va rollarni o'rganasiz. |
| 15 | Middleware | Middleware β so'rov controllerga yetmasdan o'tadigan "qatlamlar": tayyor (auth/throttle/CSRF), make:middleware bilan o'zingizniki, before/after mantiq va Laravel 11+ da bootstrap/app.php da ro'yxatga olishni o'rganasiz. |
IV qism β API va kuchli imkoniyatlar¶
| # | Bob | Nima o'rganasiz |
|---|---|---|
| 16 | Eloquent API Resources va JSON | Modelni xavfsiz, nazorat ostidagi JSON ga aylantirish: API Resource bilan maydon tanlash/qayta nomlash, Resource Collection, paginate (meta/links), when/whenLoaded, nested relation va data wrapping. |
| 17 | RESTful API va Sanctum | Mobil ilova va SPA uchun token bilan himoyalangan RESTful API qurish: install:api, Sanctum tokenlari (createToken, auth:sanctum), versiyalash, throttle, CORS va JSON xato javoblarini o'rganasiz. |
| 18 | File storage va upload | Foydalanuvchi yuklagan fayllarni (rasm, hujjat) xavfsiz saqlash: disklar tizimi (local/public/s3), upload validatsiyasi, Storage facade, storage:link, private/public fayl farqi va S3-mos object storage sozlashni o'rganasiz. |
| 19 | Mail va Notifications | Foydalanuvchiga email va bildirishnoma yuborishni: Mailable klass, Markdown mail shablon, mail driver (log/Mailtrap/SMTP), Notification kanallari (mail/database/broadcast), o'qilmagan xabarlar va queue bilan yuborishni o'rganasiz. |
| 20 | Queues va Jobs | Og'ir va sekin ishlarni (email, rasm, hisobot) foydalanuvchini kutdirmasdan orqa fonda bajarishni β queue va job'larni: make:job, ShouldQueue, dispatch, queue:work, failed jobs va retry'ni o'rganasiz. |
| 21 | Events, Listeners va Scheduling | Hodisaga avtomatik reaksiya (Event/Listener, model Observer) va vaqt bo'yicha avtomatik ishlar (Task Scheduling) β serverda bitta cron bilan ko'plab vazifani boshqarishni o'rganasiz. |
V qism β Professional daraja¶
| # | Bob | Nima o'rganasiz |
|---|---|---|
| 22 | Testing (Pest va PHPUnit) | Kod ishlashiga ishonch hosil qilish va xavfsiz refactoring uchun avtomatik test yozishni: Pest va PHPUnit, feature/unit farqi, HTTP testlar, RefreshDatabase, factory, actingAs auth va TDD g'oyasini o'rganasiz. |
| 23 | Caching va performance | Ilovani tezlashtirishni: Cache::remember, N+1 ni eager loading va preventLazyLoading bilan yo'qotish, database indeks, select/chunk/pagination, php artisan optimize, Redis va Telescope bilan profil qilishni o'rganasiz. |
| 24 | Deploy va yakuniy loyiha | Laravel ilovani internetga chiqarish (deploy) va o'rgangan hamma narsani bitta to'liq loyihada jamlash: production .env xavfsizligi, deploy buyruqlari, Nginx, HTTPS va vazifa-menejerini noldan deploy'gacha qurishni o'rganasiz. |
Muallif¶
Oqil Imomnazarov β ioqil.uz Β· Telegram Β· YouTube
Kitob bepul tarqatiladi (CC BY-NC-SA 4.0). Savdo qilish taqiqlanadi.