Documentació d'Arrel
Arrel és un framework d'administració per a Laravel: defineixes un Resource una sola vegada, en PHP, i n'obtens un panell complet (formulari, taula, filtres, accions, relation managers i, opcionalment, un lloc al dashboard). El frontend és una SPA en Vue que Arrel serveix precompilada; no hi ha res a escriure en JavaScript per a un Resource normal.
final class PostResource extends Resource
{
protected static string $model = Post::class;
public function fields(): array
{
return [
Section::make('Content')->schema([
Text::make('title')->rules('required', 'string', 'max:255'),
Toggle::make('is_published')->default(false),
]),
];
}
public function columns(): array
{
return [
Column::make('title')->sortable()->searchable(),
Column::make('is_published')->as('boolean')->sortable(),
];
}
}Aquesta classe sola ja dona un CRUD complet: llistat amb ordenació i cerca, formulari de creació/edició amb validació de Laravel, i un endpoint /schema que el frontend renderitza dinàmicament. No hi ha un segon llenguatge a aprendre: els mateixos mètodes que ja coneixes de Laravel (rules(), closures, Eloquent) són l'API d'Arrel.
Per on començar
- Instal·lació: requisits,
composer require, publicar els assets. - Configuració d'un Panel: registrar un
Panel, el prefix de la URL, marca pròpia, tema i textos. - Resources: el nucli d'Arrel, com es defineix un Resource i com funciona l'autorització.
Què hi trobaràs
| El nucli | Resources, camps, taules i columnes, filtres, accions i Relation managers. |
| Més enllà del CRUD | Pàgines, pàgines personalitzades amb el kit de components, widgets i multi-tenancy. |
| Accés i seguretat | Autenticació (verificació del correu, segon factor, notificacions) i seguretat i autorització. |
| Mantenir-lo al dia | Canvis de comportament i Releases. |
Els exemples d'aquesta documentació
Els exemples parteixen d'un PostResource senzill, el mateix que fa servir el test suite d'Arrel (workbench/app/Resources/PostResource.php). Quan un exemple necessita un cas que aquest Resource no té, ho fa amb noms genèrics (Comment, Room...).
Requisits
| PHP | ^8.5 |
| Laravel | ^13.0 |