Search by

saloum45 / controllergenerate

mouhamadoufallBahsaloum45

😊Un package Laravel qui facilite la génération dynamique de contrôleurs,migrations et de routes dans une application Laravel😊

Package info

github.com/saloum45/controllergenerate

pkg:composer/saloum45/controllergenerate

Statistics

Installs: 242

Dependents: 0

Suggesters: 0

Stars: 4

Open Issues: 0

v3.2.9 2026-08-29 13:50 UTC

README

Saloum45/ControllerGenerate est un package Laravel qui facilite la génération dynamique de contrôleurs, migrations, routes et relations dans une application Laravel(API), via la doc web ou en ligne de commande.

Tuto complet :

youtube

Installation

Ajoutez le package à votre projet Laravel via Composer :

composer require saloum45/controllergenerate

Note :
Une fois installé le package crée automatiquement une documentation Web et les commandes nécessaires, que vous pouvez exécuter en suivant ces étapes.

Règles 👉🏽😇

Tout repose sur les modèles et leurs attributs, donc c'est ce qu'on crée en premier.

  1. Il faut regarder le tuto Youtub pour comprendre et éviter les erreurs

  2. Pour les modèles. Respectez le PascalCase pour le nom des modèles, ex : EtudiantClasse.

  3. Pour les clés étrangères, respectez cette nomenclature id_nom_de_table, exemple : id_classe.

  4. Le package gére les realtions (with) en fonction des clés étrangéres définies dans les modèles

  5. Si un fichier de routes existe, les nouvelles routes sont ajoutées à la fin sans écraser le fichier existant.

  6. Chaque contrôleur contient des méthodes CRUD, un endpoint getFormDetails pour les clés étrangères, et les méthodes login/logout pour le modèle User

  7. Les migrations sont générées dans le bon ordre en fonction des dépendances des clés étrangères. Si une migration existe déjà pour un modèle, elle est écrasée pour éviter les duplications

Documentation :
Vous pouvez accéder à la documentation intégrée et faire les générations via cette route.

http://127.0.0.1:8000/generate/docs/

si vous choisissez la doc web vous pouvez vous arrêter là.

Ligne de commande :
Ou si vous préférez les lignes de commandes vous avez aussi le choix en suivant ces étapes ci-dessous

1️⃣ Générer les contrôleurs

php artisan generate:controllers
  • Crée des contrôleurs pour tous les modèles.
php artisan generate:controllers NomModel
  • Crée le contrôleur pour un modèle spécifique.

2️⃣ Générer les routes

php artisan install:api
php artisan generate:routes
  • Crée des routes API pour tous les contrôleurs.
php artisan generate:routes NomModel
  • Crée des routes API pour un contrôleur spécifique.

3️⃣ Générer les migrations

php artisan generate:migrations
  • Crée les migrations à partir des attributs $fillable des modèles.
php artisan generate:migrations NomModel
  • Crée la migration d'un modèle spécifique.

4️⃣ Générer les relations (belongsTo et hasMany) entre modèles

php artisan generate:relations
  • Crée les relations de tous les modéles.
php artisan generate:relations NomModel
  • Crée les relations pour un modèle spécifique.

5️⃣ Commande ultime : tout générer

php artisan generate:all
  • Regroupe toutes les commandes ci-dessus en une seule pour tous les modèles.
php artisan generate:all NomModel
  • Regroupe toutes les commandes ci-dessus en une seule pour un modèle spécifique.

6️⃣ Exécuter les migrations

php artisan migrate

Résultat attendu

  • Controllers : créés dans app/Http/Controllers avec méthodes CRUD.
  • Migrations : créées dans database/migrations dans le bon ordre avec clés étrangères.
  • Routes : ajoutées à routes/api.php.
  • Relations : ajoutées automatiquement dans les modèles (belongsTo et hasMany).
  • Bonus : gestion spéciale pour le modèle User avec endpoints login/logout avec géneration du token.

Bon code 🧑🏽‍💻 Salem DEV 👈🏽 fait avec beaucoup de ❤️ et ☕️