PHPackages                             uzinfo/laravel-api-generator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. uzinfo/laravel-api-generator

ActiveLibrary[API Development](/categories/api)

uzinfo/laravel-api-generator
============================

Laravel API generator package for creating models, migrations, controllers, services, repositories, resources and requests with advanced field definitions

v1.0.1(1y ago)05MITPHPPHP ^8.2

Since Jul 3Pushed 1y agoCompare

[ Source](https://github.com/abdu11aev-samandar/laravel-api-generator)[ Packagist](https://packagist.org/packages/uzinfo/laravel-api-generator)[ RSS](/packages/uzinfo-laravel-api-generator/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (4)Versions (3)Used By (0)

Laravel API Generator
=====================

[](#laravel-api-generator)

[![Latest Version](https://camo.githubusercontent.com/91ef5ace37442a5a6a10e61b5a4935ce2be68379a11e719df30853e991dceb6c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f757a696e666f2f6c61726176656c2d6170692d67656e657261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/uzinfo/laravel-api-generator)[![Total Downloads](https://camo.githubusercontent.com/ae8caf8fb441f4d2a699aefacf6ad122064d1b1c199fca98bc716e70f3a691b9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f757a696e666f2f6c61726176656c2d6170692d67656e657261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/uzinfo/laravel-api-generator)[![License](https://camo.githubusercontent.com/8e64e05ca3d05a34919d00647f3fbfa0e8df3519bda9494b71ccac3a844a570c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f757a696e666f2f6c61726176656c2d6170692d67656e657261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/uzinfo/laravel-api-generator)[![PHP Version](https://camo.githubusercontent.com/c32449215c2eaa3b55d805332ab831f18c2ef051b7fc37ff3c3c12a08b175adc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f757a696e666f2f6c61726176656c2d6170692d67656e657261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/uzinfo/laravel-api-generator)

Laravel API Generator - bu Laravel loyihalar uchun API komponentlarini tez va oson yaratish uchun mo'ljallangan package.

🚀 Xususiyatlar
--------------

[](#-xususiyatlar)

- **Models** - Eloquent modellari yaratish (SoftDeletes bilan)
- **Migrations** - Ma'lumotlar bazasi migratsiyalari (field definition bilan)
- **Controllers** - API kontrollerlari yaratish
- **Services** - Biznes logika servislari
- **Repositories** - Ma'lumotlar bazasi bilan ishlash layerlari
- **Resources** - API resurslari (bitta va collection)
- **Requests** - Form validatsiya klasslari
- **Traits** - ApiResponse va ApiRequest traitlari
- **BREAD** - To'liq CRUD operatsiyalari bir buyruq bilan

📦 O'rnatish
-----------

[](#-ornatish)

Composer orqali package'ni o'rnating:

```
composer require uzinfo/laravel-api-generator
```

Stub fayllarni publish qiling:

```
php artisan vendor:publish --tag=api-generator-stubs
```

🛠️ Foydalanish
--------------

[](#️-foydalanish)

### Ayrim komponentlar yaratish

[](#ayrim-komponentlar-yaratish)

```
# Model yaratish
php artisan make:model-api User

# Model va migration birga yaratish
php artisan make:model-api User --migration

# Migration yaratish
php artisan make:migration-api create_users_table

# Controller yaratish
php artisan make:controller-api UserController

# Service yaratish
php artisan make:service-api UserService

# Repository yaratish
php artisan make:repository-api UserRepository

# Resource yaratish
php artisan make:resource-api UserResource

# Resource Collection yaratish
php artisan make:resource-list-api UserResourceList

# Request yaratish
php artisan make:request-api StoreUserRequest
```

### To'liq CRUD yaratish

[](#toliq-crud-yaratish)

```
# Barcha kerakli fayllarni bir buyruq bilan yaratish
php artisan make:bread User
```

Bu buyruq quyidagi fayllarni yaratadi:

- `app/Models/User.php`
- `database/migrations/****_create_users_table.php`
- `app/Http/Controllers/UserController.php`
- `app/Services/UserService.php`
- `app/Repositories/UserRepository.php`
- `app/Http/Resources/User/UserResource.php`
- `app/Http/Resources/User/UserResourceList.php`
- `app/Http/Requests/User/StoreUserRequest.php`
- `app/Http/Requests/User/UpdateUserRequest.php`

📁 Yaratilgan fayllar strukturasi
--------------------------------

[](#-yaratilgan-fayllar-strukturasi)

```
app/
├── Models/
│   └── User.php
├── Http/
│   ├── Controllers/
│   │   └── UserController.php
│   ├── Requests/
│   │   └── User/
│   │       ├── StoreUserRequest.php
│   │       └── UpdateUserRequest.php
│   └── Resources/
│       └── User/
│           ├── UserResource.php
│           └── UserResourceList.php
├── Repositories/
│   └── UserRepository.php
├── Services/
│   └── UserService.php
database/
└── migrations/
    └── 2024_07_03_120000_create_users_table.php

```

🎯 Traitlar
----------

[](#-traitlar)

Package quyidagi traitlarni taqdim etadi:

### ApiResponse Trait

[](#apiresponse-trait)

```
use UzInfo\LaravelApiGenerator\Traits\ApiResponse;

class UserController extends Controller
{
    use ApiResponse;

    public function index()
    {
        return $this->replySuccess('Users retrieved successfully', $users);
    }
}
```

**Mavjud metodlar:**

- `replySuccess($message, $data, $status)` - Muvaffaqiyatli javob
- `replyFailure($message, $data, $status)` - Xato javob
- `replyPaginatedData($data, $paginator)` - Pagination bilan javob
- `replyUnpaginatedData($data)` - Oddiy array javob
- `replyWithMeta($message, $data, $meta, $status)` - Meta ma'lumotlar bilan
- `replyRaw($response, $status)` - Raw response

### ApiRequest Trait

[](#apirequest-trait)

```
use UzInfo\LaravelApiGenerator\Traits\ApiRequest;

class StoreUserRequest extends FormRequest
{
    use ApiRequest;

    protected $route_parameter = 'user';
    protected $route_params = ['company' => 'company_id'];
}
```

🔧 Konfiguratsiya
----------------

[](#-konfiguratsiya)

Stub fayllarni o'zgartirib, yaratilgan kodlarni loyihangizga moslashtira olasiz.

📝 Misol
-------

[](#-misol)

User CRUD yaratish:

```
php artisan make:bread User
```

Yaratilgan controller:

```
