PHP code example of uzinfo / laravel-api-generator

1. Go to this page and download the library: Download uzinfo/laravel-api-generator library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

uzinfo / laravel-api-generator example snippets


use UzInfo\LaravelApiGenerator\Traits\ApiResponse;

class UserController extends Controller 
{
    use ApiResponse;
    
    public function index() 
    {
        return $this->replySuccess('Users retrieved successfully', $users);
    }
}

use UzInfo\LaravelApiGenerator\Traits\ApiRequest;

class StoreUserRequest extends FormRequest 
{
    use ApiRequest;
    
    protected $route_parameter = 'user';
    protected $route_params = ['company' => 'company_id'];
}



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');
    }
}
bash
php artisan vendor:publish --tag=api-generator-stubs

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
bash
php artisan make:bread User