Aller au contenu principal
Version: 5.x

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.

Utilisation

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 :

CommandeDescription
generate:resourceCrée un contrôleur REST complet. Exemple : php bow generate:resource UserController
generate:keyGénère une nouvelle clé de sécurité pour l'application
generate:session-tableCrée une migration pour la table des sessions
generate:notification-tableCrée une migration pour la table des notifications
generate:cache-tableCrée une migration pour la table de cache
generate:queue-tableCrée une migration pour la table des queues
Alias

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​

CommandeDescription
add:controllerCrée un nouveau contrôleur. Exemple : php bow add:controller OrderController
add:middlewareCrée un nouveau middleware. Exemple : php bow add:middleware AuthMiddleware

Modèles et Base de données​

CommandeDescription
add:modelCrée un nouveau modèle. Exemple : php bow add:model Product
add:migrationCrée une nouvelle migration. Exemple : php bow add:migration create_orders_table
add:seederCrée un fichier de seeding. Exemple : php bow add:seeder UsersSeeder
add:validatorCrée un nouveau validateur. Exemple : php bow add:validator UserValidator

Services et Configuration​

CommandeDescription
add:serviceCrée un nouveau service. Exemple : php bow add:service PaymentService
add:configurationCrée un fichier de configuration. Exemple : php bow add:configuration payment
add:exceptionCrée une nouvelle exception. Exemple : php bow add:exception InvalidUserException

Événements et Notifications​

CommandeDescription
add:eventCrée un nouvel événement. Exemple : php bow add:event UserRegisteredEvent
add:listenerCrée un écouteur d'événement. Exemple : php bow add:listener UserRegisteredListener
add:notifierCrée un nouveau notifier. Exemple : php bow add:notifier EmailNotifier

Queue et Tâches​

CommandeDescription
add:taskCrée une nouvelle tâche planifiée. Exemple : php bow add:task CleanupTask
add:commandCré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 :

CommandeDescription
migrateApplique toutes les migrations en attente
migration:migrateAlias de migrate
migration:rollbackAnnule la dernière migration
migration:resetRéinitialise toutes les migrations
Attention

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 :

CommandeDescription
seed:allExé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 :

CommandeDescription
worker:runLance 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 :

CommandeDescription
scheduler:runExécute les tâches planifiées dues
scheduler:workLance 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 :

CommandeDescription
clear:viewSupprime le cache des vues compilées
clear:cacheSupprime le cache général
clear:sessionSupprime le cache des sessions
clear:logSupprime les fichiers de log
clear:allSupprime tous les caches

Serveur de développement​

CommandeDescription
run:serverLance un serveur web local
run:consoleLance 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.