PHPackages                             andydefer/laravel-directive - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. andydefer/laravel-directive

ActiveLibrary[CLI &amp; Console](/categories/cli)

andydefer/laravel-directive
===========================

A flexible CLI command system for Laravel that breaks free from Artisan's constraints. Directives introduces a clean separation between what your command does (business logic) and how it's presented (output/UI).

v3.31.2(4w ago)0261↑175%6MITPHPPHP &gt;=8.1

Since May 24Pushed 1mo agoCompare

[ Source](https://github.com/andydefer/laravel-directive)[ Packagist](https://packagist.org/packages/andydefer/laravel-directive)[ RSS](/packages/andydefer-laravel-directive/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (34)Versions (57)Used By (6)

Laravel Directive
=================

[](#laravel-directive)

**Un système de commandes CLI flexible pour Laravel qui se libère des contraintes d'Artisan. Directives introduit une séparation nette entre la logique métier et la présentation.**

[![PHP Version](https://camo.githubusercontent.com/187240af044d09d5b14a1d9d9ebdf3f7a993e4c7bc09bdb46b4ba661a891bf5b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d626c7565)](https://php.net)[![Laravel Version](https://camo.githubusercontent.com/9c4787971c42c15b56f8b00f9b8768ba8de8a2ce3dd079980f8e0b3fdfdf8f55/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302e7825323025374325323031312e7825323025374325323031322e782d626c7565)](https://laravel.com)[![License](https://camo.githubusercontent.com/5caa455d8debc46fb23abbadb45a733a937f3910a73fc875c2f7820468e1bb54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e)](LICENSE)

---

Table des matières
------------------

[](#table-des-matières)

- [Installation](#installation)
- [Configuration](#configuration)
- [Premiers pas](#premiers-pas)
- [Format des signatures](#format-des-signatures-de-directives)
- [Arguments variadiques](#arguments-variadiques)
- [Méthodes de base](#les-methodes-de-base)
- [Arguments et options](#arguments-et-options)
- [Interaction utilisateur](#interaction-utilisateur)
- [Charger Laravel optionnellement](#charger-laravel-optionnellement)
- [Système de composition (Call System)](#syst%C3%A8me-de-composition-call-system)
- [Commandes intégrées](#commandes-integrees)
- [Codes de sortie](#codes-de-sortie)
- [Tester vos directives](#tester-vos-directives)
- [Exemples complets](#exemples-complets)
- [Pourquoi ce package](#pourquoi-ce-package)

---

Installation
------------

[](#installation)

```
composer require andydefer/laravel-directive
```

### Prérequis

[](#prérequis)

- PHP 8.2 ou supérieur
- Laravel 10.x, 11.x ou 12.x

### Publication de la configuration (optionnel)

[](#publication-de-la-configuration-optionnel)

```
php artisan vendor:publish --tag=directive-config --force
```

---

Configuration
-------------

[](#configuration)

```
// config/directive.php
return [
    'path' => getcwd() . '/app/Directives',
];
```

Variable d'environnementDescriptionDéfaut`DIRECTIVE_PATH`Chemin personnalisé des directives`./app/Directives``DIRECTIVE_DEBUG`Mode debug`false`---

Premiers pas
------------

[](#premiers-pas)

### Lister les directives

[](#lister-les-directives)

```
./vendor/bin/directive --list
```

### Afficher l'aide

[](#afficher-laide)

```
./vendor/bin/directive --help
```

### Créer votre première directive

[](#créer-votre-première-directive)

```
