Skip to content

Framework : ajouter routes, injection et événements depuis l'export du framework #47

Open

Description

@alexwrite

Context

Le graphe ne contient que ce qui est écrit dans le code. Les routes, l'injection configurée hors du code (YAML, autoconfiguration) et les écouteurs d'événements lui échappent : un contrôleur paraît jamais appelé, un écouteur paraît isolé, et une mesure de couplage sous-estime la réalité.

Vérifié sur un projet Symfony 8 réel : debug:router --format=json (634 routes, 617 vers Classe::méthode), debug:event-dispatcher --format=json (47 événements, 184 écouteurs), debug:container --format=json (2 681 services). Laravel 12 : route:list --json (931 routes), event:list --json.

User story

En tant qu'agent qui mesure l'impact d'un changement, je veux que le graphe contienne les liens que le framework branche lui-même, afin de ne plus prendre un contrôleur routé ou un écouteur pour du code mort.

Acceptance criteria

  • Une commande lit un export JSON du framework (fourni par l'utilisateur, jamais exécuté par Graphify) et ajoute : nœuds route, arêtes handles (route vers méthode), listens (événement vers écouteur), injects (service vers service)
  • Symfony et Laravel couverts, formats d'export documentés
  • Une cible non résolue (closure, classe hors corpus) ne crée aucune arête
  • Les données survivent à graphify update (enregistrées comme les options de construction)
  • Tests sur fixtures neutres

Hints

  • Graphify ne doit pas lancer le framework : l'export est produit dans le conteneur applicatif par le wrapper du projet
  • Réutiliser la résolution Classe::méthode existante

Hors scope

  • Parser les fichiers YAML ou les attributs à la place du framework

Activity

  1. added
    enhancementNew feature or request
    p2Défaut visible par l'utilisateur
    on Oct 11, 2026
  2. github-actions commented on Oct 11, 2026

    @github-actions

    Thanks for opening this issue, @alexwrite. A maintainer will take a look soon.

    If you would like to discuss it in real time, come say hi on our Discord server. For longer-form questions and ideas there is also GitHub Discussions.

    To help us triage, please make sure the report includes what you expected, what actually happened, and the steps (and a small sample) to reproduce it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestp2Défaut visible par l'utilisateur

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions