2017-08-22 1 views
0

Ich teste Symfony mit Flex. Ich habe eine sehr kleine Anwendung, die gut funktioniert (der Glückszahlengenerator). Ich möchte den web_profiler über Flex hinzufügen.Wie lade ich Routen, die im Unterverzeichnis dev deklariert sind? (in Entwicklungsumgebung)

ich starten Sie diesen Befehl: composer require web_profiler --dev

Es funktioniert gut, ist der Cache erfolgreich erwärmt. Aber als ich meine Homepage überprüfe, ist ein Fehler aufgetreten: Die Route "_wdt" existiert nicht.

Ich überprüfte die neue config/routes/dev/web_profiler.yaml Datei. Es wurde von Flex erstellt. Es enthält:

web_profiler_wdt: 
    resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' 
    prefix: /_wdt 

web_profiler_profiler: 
    resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' 
    prefix: /_profiler 

Es scheint gut zu sein. Ich kopiere diesen Code und füge ihn an meine config/routes.yaml an. Der Fehler verschwindet. Ich habe verstanden, dass meine Yaml-Dateien in den Unterverzeichnissen config/routes/dev nicht geladen sind.

Warum sind meine Dateien in /config/routes/dev subdirectory nicht geladen? Welchen Schritt habe ich vergessen, meine Dev-Konfigurationsdateien zu laden?

Hier ist meine .env Datei:

# This file is a "template" of which env vars needs to be defined in your configuration or in an .env file 
# Set variables here that may be different on each deployment target of the app, e.g. development, staging, production. 
# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration 

###> symfony/framework-bundle ### 
APP_ENV=dev 
APP_DEBUG=1 
APP_SECRET=80b8077a9ccaaf2b5dd3427b512bae42 
###< symfony/framework-bundle ### 

Hier ist meine config/routes.yaml Datei

index: 
    path:/
    defaults: { _controller: 'App\Controller\GeneratorController::numberAction' } 

# Depends on sensio/framework-extra-bundle, doctrine/annotations, and doctrine/cache 
# install with composer req sensio/framework-extra-bundle annot 
controllers: 
    resource: ../src/Controller/ 
    type: annotation 

Dies ist der Screenshot der Konfigurationsverzeichnisse. Ich denke, dass ich Standards respektiere:

Antwort

0

Cache wurde erfolgreich aufgewärmt, aber es ist nicht genug. Um zu arbeiten, muss ich den Cache auch löschen.

In meinem composer.json, fügte ich eine Zeile für die Post-Update-Befehle:

"scripts": { 
    "auto-scripts": { 
     "assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd", 
     "security:check": "symfony-cmd", 
     "cache:clear --no-warmup": "symfony-cmd", 
     "cache:warmup": "symfony-cmd" 
    }, 
    "post-install-cmd": [ 
     "@auto-scripts" 
    ], 
    "post-update-cmd": [ 
     "@auto-scripts" 
    ] 
    }, 

Die zusätzliche Linie ist diese: "cache:clear --no-warmup": "symfony-cmd"

Diese Linie nicht erforderlich ist, wenn die Anwendung zu installieren, aber es wird während eines Updates benötigt.

Verwandte Themen