PHP code example of caminodeldev / laravel-api-scaffold

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

    

caminodeldev / laravel-api-scaffold example snippets


use Illuminate\Database\Eloquent\Relations\BelongsTo;

public function scaffoldCliente(): BelongsTo
{
    return $this->belongsTo(ScaffoldCliente::class, 'scaffold_cliente_id', 'id');
}

use Illuminate\Database\Eloquent\Relations\HasMany;

public function scaffoldTransacciones(): HasMany
{
    return $this->hasMany(ScaffoldTransaccion::class, 'scaffold_cliente_id', 'id');
}

/**
 * @property int $id
 * @property string $uuid
 * @property Carbon $fecha_alta
 * @property string $limite_credito
 *
 * @property Collection<int, ScaffoldTransaccion> $scaffoldTransacciones
 */

'models' => [
    'generate_relationships' => true,
    'generate_phpdoc' => true,
    'phpdoc_decimal_type' => 'string',
],

// <laravel-api-scaffold routes>
if (file_exists(__DIR__ . '/scaffolded-api.php')) {
    

private const FILTERABLE = [
    // generated from safe scalar columns
];

private const SEARCHABLE = [
    // generated from safe text-like columns
];

private const SORTABLE = [
    // generated from safe scalar columns
];

'query' => [
    'default_sort' => '-id',
    'reject_invalid_filters' => false,
    'reject_invalid_sorts' => false,
],

'query' => [
    'excluded_columns' => [
        'observacion_interna',
    ],
    'excluded_patterns' => [
        '/^codigo_/',
    ],
],

'pagination' => [
    'default_per_page' => 15,
    'max_per_page' => 100,
],

App\Http\Controllers\frontend\v1

App\Http\Requests\Frontend

use CaminoDelDev\LaravelApiScaffold\Support\ResponseEnvelope;

ResponseEnvelope::make(200, 'Records retrieved successfully.', $data);

'envelope' => [
    'keys' => [
        'code' => 'code',
        'message' => 'message',
        'data' => 'data',
        'timestamp' => 'timestamp',
    ],
],

'envelope' => [
    'keys' => [
        'code' => 'codigoRetorno',
        'message' => 'glosaRetorno',
        'data' => 'respuesta',
        'timestamp' => 'timestamp',
    ],
],

'response' => [
    'helper' => App\Helpers\ResponseHelper::class,
    'method' => 'returnResponse',
    '

returnResponse(int $code, string $message, mixed $data = []): array

'response' => [
    '
bash
php artisan vendor:publish --tag=api-scaffold-config
text
config/api-scaffold.php
bash
composer dump-autoload
bash
php artisan scaffold:inspect users --connection=mysql
php artisan scaffold:inspect public.solicitudes --connection=pgsql
bash
php artisan scaffold:api users --connection=mysql --crud --force
php artisan optimize:clear
php artisan octane:reload
text
app/Models/User.php
app/Http/Controllers/frontend/v1/UserController.php
app/Http/Requests/Frontend/User/IndexUserRequest.php
app/Http/Resources/UserResource.php
app/Services/UserService.php
routes/scaffolded-api.php
tests/Feature/UserApiTest.php
text
app/Http/Requests/Frontend/User/StoreUserRequest.php
app/Http/Requests/Frontend/User/UpdateUserRequest.php
bash
php artisan scaffold:inspect users --connection=mysql
php artisan scaffold:inspect public.solicitudes --connection=pgsql
bash
php artisan scaffold:model users --connection=mysql
bash
php artisan scaffold:model users --connection=mysql --dry-run
php artisan scaffold:model users --connection=mysql --model=AccountUser
php artisan scaffold:model users --connection=mysql --force
bash
php artisan scaffold:api users --connection=mysql --crud
bash
php artisan scaffold:api cha_solicitudes --connection=mysql --model=Solicitud --route-resource=solicitudes
text
routes/scaffolded-api.php
text
config/api-scaffold.php
bash
composer dump-autoload