Download the PHP package andydefer/directive-forge without Composer

On this page you can find all versions of the php package andydefer/directive-forge. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package directive-forge

Directive Forge

Directives de génération de code pour Laravel - forgez des directives, actions, tâches, repositories, records, collections typées, objets de valeur et classes de configuration.

PHP Version Laravel Version


Installation

Prérequis

Service Provider (auto-découverte)

Le package utilise l'auto-découverte de Laravel. Le service provider sera automatiquement enregistré.


Vue d'ensemble

Directive Forge fournit un ensemble de commandes CLI pour générer diverses classes PHP suivant les principes d'architecture propre. Il étend le package Laravel Directive pour offrir un échafaudage de code pour :

Type Description Dossier Suffixe
Directive Commandes CLI pour votre application app/Directives/ Directive
Action Logique métier à responsabilité unique app/Actions/ Action
Requête (Request) Validation des données entrantes app/Http/Requests/ Request
Tâche (Task) Jobs en arrière-plan et tâches planifiées app/Tasks/ Task
Repository Couche d'accès aux données app/Repositories/ Repository
Record Objets de transfert de données typés app/Records/ Record
Collection Typée Collections type-safe app/Collections/ Collection
Objet de valeur (VO) Objets de valeur immutables du domaine app/ValueObjects/ VO
Configuration (Config) Classes de configuration app/Configs/ Config

Utilisation

Générer une Directive

Généré : app/Directives/UserListDirective.php

Générer une Action

Sans --fully - crée uniquement : app/Actions/User/ShowAction.php

Avec --fully - crée les trois fichiers :

Action générée (app/Actions/User/ShowAction.php) :

Générer une Requête (Request)

Sans --fully - crée uniquement : app/Http/Requests/StoreUserRequest.php

Avec --fully - crée les deux fichiers :

Requête générée (app/Http/Requests/StoreUserRequest.php) :

Générer une Tâche (Task)

Généré : app/Tasks/SendWelcomeEmailTask.php

Générer un Repository

Généré : app/Repositories/UserRepository.php

Générer un Record

Généré : app/Records/UserDataRecord.php

Générer un Objet de valeur (Value Object)

Généré : app/ValueObjects/EmailAddressVO.php

Générer une Classe de Configuration

Généré : app/Configs/DatabaseConfig.php

Générer une Collection Typée

Généré : app/Collections/UserCollection.php


Structure avec sous-dossiers

Vous pouvez organiser vos classes générées en utilisant des sous-dossiers :


Référence des commandes

Commande Alias Description
make-directive {name} create-directive, make-cmd Crée une nouvelle classe de directive
make-action {name} {--fully} create-action, make-act Crée une nouvelle classe d'action (avec --fully pour Requête + Record)
make-request {name} {--fully} create-request, make-req Crée une nouvelle classe de requête (avec --fully pour Record)
make-task {name} create-task, make-job Crée une nouvelle classe de tâche
make-repository {name} create-repository, make-repo Crée une nouvelle classe de repository
make-record {name} create-record, make-dto Crée une nouvelle classe de record
make-vo {name} create-vo, make-value-object Crée un nouvel objet de valeur (VO)
make-config {name} create-config, make-cfg Crée une nouvelle classe de configuration
make-typed-collection {name} {--item-type} create-collection, make-collection Crée une nouvelle collection typée

Options globales

Option Description
--list, -l Liste toutes les directives disponibles
--help, -h Affiche l'aide
--version, -v Affiche la version

Options spécifiques aux Actions

Option Description
--fully Crée également les classes Requête et Record associées

Options spécifiques aux Requêtes

Option Description
--fully Crée également la classe Record associée

Options pour les Collections typées

Option Description
--item-type Requis. Le type des éléments de la collection (ex: string, UserRecord)

Convention de nommage intelligente

Directive Forge gère intelligemment les conversions de noms :

Entrée Nom de classe Signature
user-list UserListDirective user-list
hello HelloDirective hello
hello-directive HelloDirective hello
ShowUserAction ShowUserAction (préservé)
EmailAddress EmailAddressVO (préservé)
Database DatabaseConfig (préservé)

Traitement des chemins


Tests

Tests unitaires

Tests d'intégration

Exécuter tous les tests


Composants clés

Composant Description
BaseDirective Directive abstraite avec parsing et normalisation des chemins
AbstractGenerator Générateur de base pour la création de fichiers
GeneratorType Enum définissant toutes les configurations des générateurs
PathInfo Objet de valeur pour la gestion des chemins et namespaces
GeneratorConfig Configuration immuable pour chaque type de générateur

Configuration

Stubs personnalisés

Vous pouvez publier et personnaliser les stubs :

Les stubs seront copiés dans stubs/directive-forge/ à la racine de votre projet.

Chemin de base personnalisé

Vous pouvez modifier les dossiers par défaut en modifiant la configuration du générateur :


Exemples

Flux de travail complet

Structure résultante


Licence

MIT © Andy Defer


All versions of directive-forge with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
laravel/framework Version ^12.0|^13.0|^14.0|^15.0
andydefer/laravel-directive Version ^3.56.13
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package andydefer/directive-forge contains the following files

Loading the files please wait ...