Tous les outils
Gratuit

Une référence Laravel imprimable et consultable — Artisan, routage, Eloquent, le générateur de requêtes, migrations, Blade, validation et collections. Gratuit.

CLI Artisan

14
php artisan serve
Démarrer le serveur de développement local
php artisan make:model Post -mcr
Modèle avec migration, contrôleur et ressource
php artisan make:controller PostController
Générer une nouvelle classe de contrôleur
php artisan make:migration create_posts_table
Créer un nouveau fichier de migration
php artisan migrate
Exécuter les migrations de base de données en attente
php artisan migrate:fresh --seed
Supprimer toutes les tables, re-migrer et seeder
php artisan db:seed
Exécuter les seeders de base de données
php artisan tinker
Ouvrir un shell REPL interactif
php artisan route:list
Lister toutes les routes enregistrées
php artisan optimize
Mettre en cache config, routes et vues
php artisan queue:work
Traiter les travaux de la file
php artisan schedule:work
Exécuter le planificateur au premier plan
php artisan storage:link
Lier le stockage au chemin public (symlink)
php artisan key:generate
Générer la clé d'application

Routage

13
Route::get('/users', [UserController::class, 'index'])
Définir une route GET vers un contrôleur
Route::post('/users', [UserController::class, 'store'])
Définir une route POST
Route::put('/users/{user}', [UserController::class, 'update'])
Définir une route PUT
Route::patch('/users/{user}', [UserController::class, 'update'])
Définir une route PATCH
Route::delete('/users/{user}', [UserController::class, 'destroy'])
Définir une route DELETE
Route::get('/users/{id}', $fn)
Paramètre de route obligatoire
Route::get('/users/{id?}', $fn)
Paramètre de route optionnel
Route::get('/profile', $fn)->name('profile')
Nommer une route pour la génération d'URL
Route::get('/admin', $fn)->middleware('auth')
Attacher un middleware à une route
Route::resource('posts', PostController::class)
Enregistrer des routes de ressource RESTful
Route::prefix('admin')->group(function () {})
Grouper des routes sous un préfixe d'URI
Route::controller(PostController::class)->group($fn)
Grouper des routes vers un seul contrôleur
Route::fallback($fn)
Gérer les routes non trouvées (404)

Contrôleurs

10
php artisan make:controller PostController --resource
Contrôleur de ressource avec méthodes CRUD
public function __invoke(Request $request)
Contrôleur invocable à action unique
public function index() {}
Lister les ressources (méthode resource)
public function store(Request $request) {}
Persister une nouvelle ressource
public function show(Post $post) {}
Afficher une ressource (route model binding)
public function __construct(PostService $svc) {}
Injecter une dépendance via le constructeur
return view('posts.index', ['posts' => $posts])
Renvoyer une vue Blade avec des données
return response()->json($data)
Renvoyer une réponse JSON
return redirect()->route('posts.index')
Rediriger vers une route nommée
return back()
Rediriger vers la page précédente

ORM Eloquent

14
Post::all()
Obtenir tous les enregistrements
Post::find($id)
Trouver un enregistrement par clé primaire
Post::where('active', true)->first()
Premier enregistrement correspondant à une condition
Post::create(['title' => 'Hi'])
Assigner en masse et persister un enregistrement
$post->update(['title' => 'Edited'])
Mettre à jour un modèle existant
$post->delete()
Supprimer une instance de modèle
Post::firstOrCreate(['slug' => $slug])
Trouver ou créer un enregistrement correspondant
Post::updateOrCreate($attrs, $values)
Mettre à jour si trouvé, sinon créer
Post::with('author')->get()
Charger une relation en eager loading
public function comments() { return $this->hasMany(Comment::class); }
Relation un-à-plusieurs
public function author() { return $this->belongsTo(User::class); }
Relation un-à-plusieurs inverse
protected $fillable = ['title', 'body'];
Attributs assignables en masse
protected function casts(): array { return ['published_at' => 'datetime']; }
Casts d'attributs (méthode casts())
Post::onlyTrashed()->restore()
Restaurer les enregistrements supprimés en douceur

Constructeur de requêtes

13
DB::table('users')->get()
Récupérer toutes les lignes d'une table
DB::table('users')->where('votes', '>', 100)->get()
Filtrer les lignes par une condition
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
Jointure interne de deux tables
DB::table('users')->orderBy('name')->get()
Trier les résultats par une colonne
DB::table('orders')->groupBy('status')->get()
Grouper les lignes par une colonne
DB::table('users')->select('name', 'email')->get()
Sélectionner des colonnes précises
DB::table('users')->insert(['name' => 'Sam'])
Insérer une nouvelle ligne
DB::table('users')->where('id', 1)->update(['votes' => 1])
Mettre à jour les lignes correspondantes
DB::table('users')->pluck('email')
Obtenir une seule colonne en collection
DB::table('users')->count()
Compter les lignes correspondantes
DB::table('users')->where('id', 1)->exists()
Vérifier si des lignes existent
DB::table('users')->paginate(15)
Paginer les résultats
DB::table('users')->chunk(100, $fn)
Traiter les résultats par lots

Migrations et schéma

12
Schema::create('posts', function (Blueprint $table) {})
Créer une nouvelle table
$table->id()
Clé primaire auto-incrémentée
$table->string('title')
Colonne VARCHAR
$table->integer('votes')
Colonne entière
$table->boolean('active')
Colonne booléenne
$table->timestamps()
Colonnes created_at et updated_at
$table->foreignId('user_id')->constrained()
Clé étrangère avec contrainte
$table->string('note')->nullable()
Autoriser les valeurs NULL
$table->boolean('active')->default(true)
Définir une valeur par défaut
$table->index('slug')
Ajouter un index à une colonne
$table->unique('email')
Ajouter une contrainte d'unicité
$table->dropColumn('votes')
Supprimer une colonne

Templates Blade

14
@if ($ok) ... @elseif ($x) ... @else ... @endif
Rendu conditionnel
@foreach ($posts as $post) ... @endforeach
Boucler sur une collection
@forelse ($posts as $post) ... @empty ... @endforelse
Boucler avec un repli vide
{{ $variable }}
Afficher une sortie échappée
{!! $html !!}
Afficher du HTML brut non échappé
@extends('layouts.app')
Hériter d'une mise en page
@section('content') ... @endsection
Définir une section de mise en page
@yield('content')
Afficher une section dans une mise en page
@include('partials.nav')
Inclure une autre vue
<x-alert type="error" />
Afficher un composant Blade
@csrf
Champ de jeton CSRF pour les formulaires
@auth ... @endauth
Afficher du contenu aux utilisateurs authentifiés
@can('update', $post) ... @endcan
Vérification d'une porte d'autorisation
{{ $loop->index }}
Variable de boucle dans @foreach

Validation

12
$request->validate(['title' => 'required'])
Valider les données de requête en ligne
'email' => 'required|email'
Règle e-mail obligatoire et valide
'name' => 'required|max:255'
Obligatoire avec une longueur maximale
'email' => 'unique:users,email'
Doit être unique dans une table
'age' => 'nullable|integer|min:18'
Entier optionnel avec un minimum
'role' => ['required', Rule::in(['admin', 'user'])]
Restreindre aux valeurs autorisées
php artisan make:request StorePostRequest
Générer une classe Form Request
public function rules(): array { return [...]; }
Règles de validation d'un Form Request
public function authorize(): bool { return true; }
Autorisation d'un Form Request
public function messages(): array { return [...]; }
Messages de validation personnalisés
$validator = Validator::make($data, $rules)
Créer un validateur manuellement
$request->validated()
Obtenir uniquement les données validées

Requêtes et réponses

10
request()->input('name')
Récupérer une valeur de saisie
request()->query('page')
Récupérer une valeur de chaîne de requête
request()->all()
Obtenir toute la saisie en tableau
request()->only(['name', 'email'])
Obtenir un sous-ensemble de la saisie
request()->has('name')
Vérifier si une saisie est présente
response()->json(['ok' => true])
Renvoyer une réponse JSON
redirect()->route('home')->with('status', 'Saved')
Rediriger avec un message flash
back()->withInput()
Rediriger en arrière en conservant l'ancienne saisie
abort(404)
Lever une exception HTTP
abort_if($user->banned, 403)
Avorter la requête sous condition

Collections

13
$collection->map(fn ($x) => $x * 2)
Transformer chaque élément
$collection->filter(fn ($x) => $x > 0)
Garder les éléments correspondants
$collection->each(fn ($x) => $x->save())
Exécuter un callback par élément
$collection->pluck('name')
Extraire une colonne
$collection->reduce(fn ($c, $x) => $c + $x, 0)
Réduire à une seule valeur
$collection->sortBy('created_at')
Trier par une clé
$collection->groupBy('status')
Grouper les éléments par une clé
$collection->where('active', true)
Filtrer par une paire clé/valeur
$collection->first()
Obtenir le premier élément
$collection->contains('name', 'Sam')
Vérifier la présence d'un élément correspondant
$collection->sum('price')
Sommer une colonne
$collection->flatten()
Aplatir des collections imbriquées
$collection->toArray()
Convertir en tableau simple

Auth et middleware

11
Auth::user()
Obtenir l'utilisateur authentifié
Auth::check()
Vérifier si un utilisateur est connecté
Auth::id()
Obtenir l'ID de l'utilisateur authentifié
Auth::login($user)
Connecter un utilisateur
Auth::logout()
Déconnecter l'utilisateur courant
auth()->user()
Utilitaire pour l'utilisateur courant
Route::get('/home', $fn)->middleware('auth')
Protéger une route avec l'authentification
Gate::allows('update', $post)
Vérifier une porte d'autorisation
$user->can('update', $post)
Vérifier une capacité via une politique
php artisan make:policy PostPolicy --model=Post
Générer une politique d'autorisation
php artisan make:middleware EnsureTokenIsValid
Générer une classe de middleware

Utilitaires et divers

12
config('app.name')
Lire une valeur de configuration
env('APP_DEBUG', false)
Lire une variable d'environnement
route('posts.show', $post)
Générer une URL vers une route nommée
url('/dashboard')
Générer une URL pleinement qualifiée
asset('css/app.css')
URL d'une ressource publique
old('email')
Récupérer l'ancienne saisie flashée
now()->addDays(7)
Horodatage Carbon actuel
Str::slug('My Title')
Utilitaire de chaîne (slugify)
collect([1, 2, 3])->sum()
Créer une collection à partir d'un tableau
cache()->remember('key', 60, $fn)
Mettre en cache une valeur pour une durée
dd($value)
Afficher une valeur et arrêter (dd)
Storage::put('file.txt', $contents)
Écrire un fichier dans le stockage

Aucune entrée ne correspond à « :q ».


Besoin d'aide ?
Un problème avec cet outil ? Signalez-le à notre équipe.
Signaler un problème

Ajoutez cet outil gratuit à votre propre site web — copiez-collez le code ci-dessous.