Skip to content

Personnaliser les stubs ​

Chaque fichier généré provient d'un template éditable. Si le style de code par défaut n'est pas le vôtre, changez les templates plutôt que les fichiers générés.

Publier les stubs ​

bash
php artisan vendor:publish --tag=api-generator-stubs

Cela copie chaque .stub dans stubs/vendor/laravel-api-generator/. Le StubLoader vérifie toujours ce dossier d'abord et retombe sur les défauts du package, donc vous ne surchargez que les stubs dont vous avez besoin.

Valider vos personnalisations ​

api-generator:validate-stubs vérifie que chaque {{placeholder}} requis est toujours présent dans vos templates modifiés, et signale ceux écrits pour la 3.x (voir Passer à la 4.0) :

bash
php artisan api-generator:validate-stubs

La forme --json se branche dans une CI, avec une sortie lisible par un programme et un code de sortie 1 en cas d'erreur, de quoi attraper un stub cassé avant qu'il n'atteigne la machine d'un collègue. L'extension VS Code lance cette validation automatiquement avant chaque génération.

Étendre le générateur ​

Besoin d'un tout nouveau type d'artefact ? Créez un générateur personnalisé en étendant AbstractGenerator :

php
use nameless\CodeGenerator\EntitiesGenerator\AbstractGenerator;
use nameless\CodeGenerator\ValueObjects\EntityDefinition;

class CustomGenerator extends AbstractGenerator
{
    public function getType(): string
    {
        return 'Custom';
    }

    public function getOutputPath(EntityDefinition $definition): string
    {
        return app_path("Custom/{$definition->name}Custom.php");
    }

    protected function getStubName(): string
    {
        return 'custom'; // charge stubs/custom.stub
    }

    protected function getReplacements(EntityDefinition $definition): array
    {
        return ['modelName' => $definition->name];
    }

    protected function generateContent(EntityDefinition $definition): string
    {
        return $this->processStub($definition);
    }
}

Enregistrez-le dans votre service provider et il sera appelé automatiquement pendant la génération.