1. Go to this page and download the library: Download allyson/arch-laravel 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/ */
allyson / arch-laravel example snippets
namespace App\Http\Requests\Example;
use ArchCrudLaravel\App\Http\Requests\BaseRequest;
use App\Models\Example;
abstract class ExampleRequest extends BaseRequest
{
protected $model = Example::class;
protected function hasGroupPermission(): bool
{
// Code...
}
protected function isOwner(string $method): bool
{
// Code...
}
}
namespace App\Http\Requests\Example;
class IndexRequest extends ExampleRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize(): bool
{
return $this->hasGroupPermission();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules(): array
{
return $this->indexRules();
}
}
public array $conditionsOperators = ['=', '!=', '<>', '<', '>', '<=', '>=', 'LIKE', 'NOT LIKE', 'IS NULL', 'IS NOT NULL'];
namespace App\Http\Requests\Example;
class DestroyRequest extends ExampleRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize(): bool
{
return $this->hasGroupPermission();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules(): array
{
return $this->destroyRules();
}
}
namespace App\Http\Requests\Example;
class UpdateRequest extends ExampleRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize(): bool
{
return $this->hasGroupPermission();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules(): array
{
return [
...$this->updateRules()
'field' => 'bail|
namespace App\Models;
use ArchCrudLaravel\App\Models\BaseModel;
use Illuminate\Database\Eloquent\Relations\{
HasMany
};
class Paises extends BaseModel
{
public $table = 'paises';
protected $fillable = [
'nome',
self::DELETED_AT
];
public array $searchable = [
'nome',
self::DELETED_AT
];
public function estados(): HasMany
{
return $this->hasMany(Estados::class, 'paisId');
}
}
namespace App\Services\Api;
use App\Http\Resources\Tratamentos\ExampleCollection;
use App\Http\Resources\Tratamentos\ExampleResource;
use App\Models\Tratamentos\Example;
use ArchCrudLaravel\App\Services\BaseService;
class ExampleService extends BaseService
{
protected $nameModel = Example::class;
protected $nameCollection = ExampleCollection::class;
protected $nameResource = ExampleResource::class;
}
namespace App\Http\Controllers\Api;
use ArchCrudLaravel\App\Http\Controllers\BaseController;
use App\Http\Requests\Example\{
DeleteRequest,
indexRules,
StoreRequest,
ShowRequest,
UpdateRequest
};
use App\Services\Api\ExampleService;
use Illuminate\Http\Response;
class ExampleController extends BaseController
{
protected $nameService = ExampleService::class;
// These methods are optional and correspond to standard CRUD actions
public function store(StoreRequest $request): Response
{
return $this->service->store($request->validated());
}
public function index(IndexRequest $request): Response
{
return $this->service->index($request->validated());
}
public function show(ShowRequest $request, int $id): Response
{
return $this->service->show($request->validated(), $id);
}
public function update(UpdateRequest $request, int $id): Response
{
return $this->service->update($request->validated(), $id);
}
public function destroy(DeleteRequest $request, int $id): Response
{
return $this->service->destroy($request->validated(), $id);
}
// Additional methods for custom actions or endpoints can be defined as needed
public function customAction(Request $request): Response
{
// ...
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.