Console Bow Framework
Introduction​
La console de Bow Framework est un outil puissant qui vous permet d'accélérer votre développement. Elle offre un ensemble de commandes pratiques pour générer des classes, tester votre application localement, gérer vos bases de données et bien plus encore.
Toutes les commandes s'exécutent depuis la racine de votre application avec la syntaxe : php bow <commande>
Commandes de génération​
Ces commandes vous aident à créer rapidement des éléments fondamentaux pour votre application :
| Commande | Description |
|---|---|
generate:resource | Crée un contrôleur REST complet. Exemple : php bow generate:resource UserController |
generate:key | Génère une nouvelle clé de sécurité pour l'application |
generate:session-table | Crée une migration pour la table des sessions |
generate:notification-table | Crée une migration pour la table des notifications |
generate:cache-table | Crée une migration pour la table de cache |
generate:queue-table | Crée une migration pour la table des queues |
Vous pouvez utiliser l'alias gen pour toutes les commandes de génération :
php bow gen:controller UserController
Ajouter des composants​
Ces commandes permettent d'ajouter rapidement des composants Ă votre application :
Contrôleurs et Middleware​
| Commande | Description |
|---|---|
add:controller | Crée un nouveau contrôleur. Exemple : php bow add:controller OrderController |
add:middleware | Crée un nouveau middleware. Exemple : php bow add:middleware AuthMiddleware |
Modèles et Base de données​
| Commande | Description |
|---|---|
add:model | Crée un nouveau modèle. Exemple : php bow add:model Product |
add:migration | Crée une nouvelle migration. Exemple : php bow add:migration create_orders_table |
add:seeder | Crée un fichier de seeding. Exemple : php bow add:seeder UsersSeeder |
add:validator | Crée un nouveau validateur. Exemple : php bow add:validator UserValidator |
Services et Configuration​
| Commande | Description |
|---|---|
add:service | Crée un nouveau service. Exemple : php bow add:service PaymentService |
add:configuration | Cr ée un fichier de configuration. Exemple : php bow add:configuration payment |
add:exception | Crée une nouvelle exception. Exemple : php bow add:exception InvalidUserException |
Événements et Notifications​
| Commande | Description |
|---|---|
add:event | Crée un nouvel événement. Exemple : php bow add:event UserRegisteredEvent |
add:listener | Crée un écouteur d'événement. Exemple : php bow add:listener UserRegisteredListener |
add:notifier | Crée un nouveau notifier. Exemple : php bow add:notifier EmailNotifier |
Queue et Tâches​
| Commande | Description |
|---|---|
add:task | Crée une nouvelle tâche planifiée. Exemple : php bow add:task CleanupTask |
add:command | Crée une commande console personnalisée. Exemple : php bow add:command ImportDataCommand |
Migrations​
Les migrations facilitent la gestion de l'évolution de vos bases de données :
| Commande | Description |
|---|---|
migrate | Applique toutes les migrations en attente |
migration:migrate | Alias de migrate |
migration:rollback | Annule la dernière migration |
migration:reset | Réinitialise toutes les migrations |
La commande migration:reset supprime toutes les données. Utilisez-la avec précaution en production.
Seeding​
Le seeding permet d'initialiser votre base de données avec des données :
| Commande | Description |
|---|---|
seed:all | Exécute tous les seeders |
seed:file [class] | Exécute un seeder spécifique. Exemple : php bow seed:file UsersSeeder |
Queue Worker​
Gérez vos jobs en file d'attente :
| Commande | Description |
|---|---|
worker:run | Lance le worker pour traiter les jobs |
Options disponibles :
--connection: Connexion à utiliser (défaut : default)--queue: Nom de la queue (défaut : default)--tries: Nombre de tentatives (défaut : 3)--memory: Limite mémoire en Mo (défaut : 126)--timeout: Timeout en secondes (défaut : 3)--sleep: Pause entre les jobs en secondes (défaut : 60)
php bow worker:run --queue=emails --tries=5
Scheduler​
Gérez les tâches planifiées :
| Commande | Description |
|---|---|
scheduler:run | Exécute les tâches planifiées dues |
scheduler:work | Lance le scheduler en mode daemon |
# Exécuter une fois (pour cron)
php bow scheduler:run
# Mode daemon (continue en boucle)
php bow scheduler:work
Nettoyage du cache​
Ces commandes permettent de réinitialiser les caches :
| Commande | Description |
|---|---|
clear:view | Supprime le cache des vues compilées |
clear:cache | Supprime le cache général |
clear:session | Supprime le cache des sessions |
clear:log | Supprime les fichiers de log |
clear:all | Supprime tous les caches |
Serveur de développement​
| Commande | Description |
|---|---|
run:server | Lance un serveur web local |
run:console | Lance une console interactive (REPL) |
# Serveur sur le port par défaut (8080)
php bow run:server
# Serveur sur un port personnalisé
php bow run:server --port=3000
# Console interactive
php bow run:console
Créer une commande personnalisée​
Vous pouvez créer vos propres commandes :
php bow add:command SendReportCommand
Cette commande crée un fichier dans app/Commands/SendReportCommand.php :
<?php
namespace App\Commands;
use Bow\Console\AbstractCommand;
use Bow\Console\Color;
class SendReportCommand extends AbstractCommand
{
/**
* Exécute la commande
*
* @param string|null $param
* @return void
*/
public function run(?string $param = null): void
{
echo Color::green("Rapport envoyé avec succès !");
}
}
Enregistrez la commande dans app/Kernel.php :
public function commands(): array
{
return [
'send:report' => \App\Commands\SendReportCommand::class,
];
}
Utilisez votre commande :
php bow send:report
Il manque quelque chose ?
Si vous rencontrez des problèmes avec la documentation ou si vous avez des suggestions pour améliorer la documentation ou le projet en général, veuillez déposer une issue pour nous, ou envoyer un tweet mentionnant le compte Twitter @bowframework ou sur directement sur le github.