uzinfo/laravel-api-generator
Composer 安装命令:
composer require uzinfo/laravel-api-generator
包简介
Laravel API generator package for creating models, migrations, controllers, services, repositories, resources and requests with advanced field definitions
README 文档
README
Laravel API Generator - bu Laravel loyihalar uchun API komponentlarini tez va oson yaratish uchun mo'ljallangan package.
🚀 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
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
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
# Barcha kerakli fayllarni bir buyruq bilan yaratish
php artisan make:bread User
Bu buyruq quyidagi fayllarni yaratadi:
app/Models/User.phpdatabase/migrations/****_create_users_table.phpapp/Http/Controllers/UserController.phpapp/Services/UserService.phpapp/Repositories/UserRepository.phpapp/Http/Resources/User/UserResource.phpapp/Http/Resources/User/UserResourceList.phpapp/Http/Requests/User/StoreUserRequest.phpapp/Http/Requests/User/UpdateUserRequest.php
📁 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
Package quyidagi traitlarni taqdim etadi:
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 javobreplyFailure($message, $data, $status)- Xato javobreplyPaginatedData($data, $paginator)- Pagination bilan javobreplyUnpaginatedData($data)- Oddiy array javobreplyWithMeta($message, $data, $meta, $status)- Meta ma'lumotlar bilanreplyRaw($response, $status)- Raw response
ApiRequest Trait
use UzInfo\LaravelApiGenerator\Traits\ApiRequest; class StoreUserRequest extends FormRequest { use ApiRequest; protected $route_parameter = 'user'; protected $route_params = ['company' => 'company_id']; }
🔧 Konfiguratsiya
Stub fayllarni o'zgartirib, yaratilgan kodlarni loyihangizga moslashtira olasiz.
📝 Misol
User CRUD yaratish:
php artisan make:bread User
Yaratilgan controller:
<?php namespace App\Http\Controllers; use App\Http\Requests\User\StoreUserRequest; use App\Http\Requests\User\UpdateUserRequest; use App\Http\Resources\User\UserResource; use App\Http\Resources\User\UserResourceList; use App\Services\UserService; use UzInfo\LaravelApiGenerator\Traits\ApiResponse; class UserController extends Controller { use ApiResponse; public function __construct( protected UserService $service ) {} public function index() { $items = $this->service->paginate(); return $this->replyPaginatedData( UserResource::collection($items), $items ); } public function store(StoreUserRequest $request) { $item = $this->service->create($request->validated()); return $this->replySuccess( 'User created successfully', new UserResource($item) ); } public function show(string $id) { $item = $this->service->getById($id); return $this->replySuccess( 'User retrieved successfully', new UserResource($item) ); } public function update(UpdateUserRequest $request, string $id) { $item = $this->service->update($id, $request->validated()); return $this->replySuccess( 'User updated successfully', new UserResource($item) ); } public function destroy(string $id) { $this->service->delete($id); return $this->replySuccess('User deleted successfully'); } }
🤝 Hissa qo'shish
Loyihaga hissa qo'shish uchun:
- Repository'ni fork qiling
- Feature branch yarating (
git checkout -b feature/AmazingFeature) - O'zgartirishlarni commit qiling (
git commit -m 'Add some AmazingFeature') - Branch'ga push qiling (
git push origin feature/AmazingFeature) - Pull Request oching
📄 Litsenziya
Bu loyiha MIT litsenziyasi ostida chiqarilgan. Batafsil ma'lumot uchun LICENSE faylini ko'ring.
👥 Mualliflar
- UzInfo Team - dev@uzinfo.uz
🙏 Minnatdorchilik
Laravel jamoasiga ajoyib framework uchun rahmat!
uzinfo/laravel-api-generator 适用场景与选型建议
uzinfo/laravel-api-generator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 07 月 03 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「generator」 「api」 「repository」 「commands」 「service」 「crud」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 uzinfo/laravel-api-generator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 uzinfo/laravel-api-generator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 uzinfo/laravel-api-generator 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Memio's PrettyPrinter, used to generate PHP code from given Model
repository php library
A PSR-7 compatible library for making CRUD API endpoints
Laravel 5 - Repositories to the database layer
Structure for the Laravel Service-Repository Pattern
Rinvex Repository is a simple, intuitive, and smart implementation of Active Repository with extremely flexible & granular caching system for Laravel, used to abstract the data layer, making applications more flexible to maintain.
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 12
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-03