Documentation d'Arrel
Arrel est un framework d'administration pour Laravel : vous définissez un Resource une seule fois, en PHP, et vous obtenez un panneau complet (formulaire, tableau, filtres, actions, relation managers et, en option, une place sur le dashboard). Le frontend est une SPA Vue qu'Arrel fournit précompilée ; il n'y a rien à écrire en JavaScript pour un Resource ordinaire.
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(),
];
}
}Cette classe seule donne déjà un CRUD complet : une liste avec tri et recherche, un formulaire de création/édition avec la validation de Laravel, et un endpoint /schema que le frontend affiche dynamiquement. Il n'y a pas de second langage à apprendre : les mêmes méthodes que vous connaissez déjà dans Laravel (rules(), closures, Eloquent) constituent l'API d'Arrel.
Par où commencer
- Installation : prérequis,
composer require, publication des assets. - Configuration d'un Panel : enregistrer un
Panel, le préfixe de l'URL, votre propre marque, le thème et les textes. - Resources : le cœur d'Arrel, comment se définit un Resource et comment fonctionne l'autorisation.
Ce que vous y trouverez
| Le cœur | Resources, champs, tableaux et colonnes, filtres, actions et Relation managers. |
| Au-delà du CRUD | Pages, pages personnalisées avec le kit de composants, widgets et multi-tenancy. |
| Accès et sécurité | Authentification (vérification de l'e-mail, second facteur, notifications) et sécurité et autorisation. |
| Rester à jour | Changements de comportement et Releases. |
Les exemples de cette documentation
Les exemples partent d'un PostResource simple, le même que celui qu'utilise la suite de tests d'Arrel (workbench/app/Resources/PostResource.php). Quand un exemple a besoin d'un cas que ce Resource n'a pas, il utilise des noms génériques (Comment, Room...).
Prérequis
| PHP | ^8.5 |
| Laravel | ^13.0 |