PHP code example of laravel-openapi / codegen

1. Go to this page and download the library: Download laravel-openapi/codegen 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/ */

    

laravel-openapi / codegen example snippets




use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UsersController;

Route::get('users', [UsersController::class, 'index'])->name('listUsers')->middleware(['auth']);
Route::post('users', [UsersController::class, 'store'])->name('createUser')->middleware(['auth', 'admin']);
Route::put('users/{userId}', [UsersController::class, 'update'])->name('updateUser')->middleware(['auth', 'admin']);



namespace App\Http\Controllers;

use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use App\Http\Resources\UsersResource;
use App\Http\Requests\StoreUsersRequest;
use App\Http\Requests\UpdateUsersRequest;

class UsersController
{
    public function index(): JsonResponse
    {
        // return UsersResource();
    }

    public function store(StoreUsersRequest $request): JsonResponse
    {
        // return UsersResource();
    }

    public function update(int $userId, UpdateUsersRequest $request): JsonResponse
    {
        // return UsersResource();
    }

}



namespace App\Http\Requests;

use Illuminate\Http\Request;

class StoreUsersRequest extends Request
{
    public function rules(): array
    {
        return [
            'username' => ['



namespace App\Http\Requests;

use Illuminate\Http\Request;

class UpdateUsersRequest extends Request
{
    public function rules(): array
    {
        return [
            'username' => ['



namespace App\Http\Resources;

use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

class UsersResource extends JsonResource
{
    public function toArray(Request $request): array
    {
        return [
            'id' => $this->id,
            'username' => $this->username,
            'email' => $this->email,
        ];
    }
}

php artisan vendor:publish --provider="LaravelOpenapi\Codegen\LaravelOpenapiCodegenProvider"

php artisan openapi:generate-code