Was ist eine „schwache Route“ in Symfony 2?

81

Bei Verwendung des Symfony2-Plugins für PHPStorm wird manchmal eine Warnung zu schwachen Routen angezeigt : Schwache Route

Was heißt das?

Tamlyn
quelle

Antworten:

124

Hat es geschafft. Das Symfony2-Plugin analysiert die appDevDebugProjectContainer.phpDatei, um Routen- und Serviceinformationen abzurufen. Diese Datei wird jedoch nur neu kompiliert, wenn die Webseite geladen wird, was bedeutet, dass neu erstellte Routen nicht enthalten sind.

Um dies zu umgehen, analysiert das Plugin auch die Konfigurationsdateien , dies ist jedoch nicht 100% zuverlässig, sodass auf diese Weise erkannte Routen als "schwach" markiert werden. Durch das erneute Laden der Webseite wird die Warnung ausgeblendet.

Tamlyn
quelle
14
Vielen Dank für die Beantwortung Ihres eigenen Beitrags, 2 Sekunden später nach dem Googeln habe ich meine Antwort :-)
Adam
Gibt es eine Möglichkeit, diese Warnung zu unterdrücken? Ich bekomme es für alle Routen in PHPStorm10
Acyra
4
OK, um diese Warnung zu unterdrücken, Einstellungen-> Editor-> Inspektionen-> Symfony-> Route zum Ausschalten
Acyra
9

Ich habe dieses Problem endlich für meine Situation behoben ( Symfony 2.8 / PhpStorm 2016.3 ).

Es ähnelt der Lösung von @Atmarama, aber ich denke, meine Version von PhpStorm (2016.3) ist anders und / oder Symfony 2.8.

Meine Lösung beinhaltet auch nicht die deprecatedEinstellung. Ich hoffe das wird anderen helfen:

Gehen Sie in PhpStorm zu Languages & Frameworks > PHP > Symfony > Routingund fügen Sie den Pfad zu hinzu appDevProjectContainerUrlGenerator.php.

In meinem Fall ist dies:

var/cache/dev/appDevDebugProjectContainerUrlGenerator.php

PhpStorm 2016.3-Einstellungen zur Behebung eines Problems mit schwachen Routen

Graftak
quelle
3

Überprüfen Sie den Pfad zur Datei urlGenerator

Für mich ist der richtige Weg:

var/cache/dev/appDevDebugProjectContainerUrlGenerator.php

Und nach dem Klicken klicken Sie oben auf die Schaltfläche "Index löschen"

Geben Sie hier die Bildbeschreibung ein

anydasa
quelle
-1

Ich habe auch das gleiche Problem und in meinem Fall, weil ich '/' verwende, um die Rendervorlage zu deklarieren, anstatt ":" Durch Ändern von "/" zu ":" wurde diese Warnung in meinem Fall gelöscht

Jack Vo
quelle