2017-12-25 4 views
1

Gesucht nach dieser Information und ich konnte nichts finden. Nur GitHub Links und einige Informationen, aber über Dienstleister nicht Middleware.Woher kennt Laravel Middlewares Pakete durch automatische Erkennung?

Ich sah etwas über die Registrierung von Middlewares bei Dienstleistern, aber es ist nicht der Punkt.

ich meine.

Dieses Paket - laravel-page-speed

Wie ich gelesen, nimmt die automatische Erkennung Registrierung von Dienstleistern aus composer.json.

Okay, aber es gibt kein Wort über Middleware.

Also vielleicht dieses Paket?

public function boot() 
    { 
     $this->publishes([ 
      __DIR__.'/../config/laravel-page-speed.php' => config_path('laravel-page-speed.php'), 
     ]); 
    } 
    /** 
    * Register the service provider. 
    */ 
    public function register() 
    { 
     $this->mergeConfigFrom(__DIR__.'/../config/laravel-page-speed.php', 'laravel-page-speed.php'); 
    } 

Ich sehe nichts über Middle, vielleicht diese Konfiguration? Ich werde hier nicht den ganzen Code schreiben, aber auch nichts. Aktivieren Sie einfach Paket und übersprungene Erweiterungen.

Also wie?

Dieses Paket verwendet und bringt mehrere Middlewares, aber registriert sie nirgendwo.

Ohne automatische Erkennung müssen wir sie selbst eingeben. Aber mit Auto Discovery haben wir nicht und ich sehe nirgends in dem Paket, sie zu registrieren.

Also ich brauche nur Erklärung wie das funktioniert.

Wie diese Middlewares tatsächlich registriert sind zu arbeiten?

+0

Sind Sie wirklich sicher, dass diese Middleware überhaupt registriert wurde oder gehen Sie davon aus, was die Dokumentation auf dieser Seite sagt? – lagbox

+1

@lagbox basierend auf Dokumentation angenommen. Dokumentation sagte so. Aber ich denke, es ist ein Fehler darin. Versuchte dieses jetzt. Funktioniert überhaupt nicht ohne addind Liste der Middlewares von diesem Paket zum Kern. Am 5.5.27. Das ist also kaputtes Paket. Obwohl der Dienstanbieter dieses Pakets gut registriert ist (überprüft mit dd (1)), so ist es ein Fehler, denke ich –

+0

ja, das war, was ich ansprach, es nicht registriert, die Dokumentation einfach nicht richtig lesen, Sie müssen diese Middleware immer noch im Kernel registrieren ... vielleicht kontaktieren Sie den Paketbetreuer über das Problem mit der Dokumentation – lagbox

Antwort

1

Ich glaube nicht, dass diese zusätzlichen Middlewares automatisch registriert sind. Mit Blick auf Github Dokumentation könnte man denken so, aber ich glaube, dass dies nur darum, nicht am beste Abschlag Formatierung für readme ist, weil in dem Fall möchten Sie Konfigurationsdatei veröffentlichen, müssen Sie noch laufen:

php artisan vendor:publish --provider="RenatoMarinho\LaravelPageSpeed\ServiceProvider" 

obwohl Sie denken könnten müssen Sie es nur in Laravel tun < 5.5

+0

Ich habe Laravel 5.5.27. –

+0

Habe es jetzt versucht. Funktioniert überhaupt nicht ohne addind Liste der Middlewares von diesem Paket zum Kern. Am 5.5.27. Das ist also kaputtes Paket. Obwohl Service-Provider dieses Pakets gut registriert ist (überprüft mit dd (1)), so ist es ein Fehler, denke ich –

+0

@KrystianPolska Ich glaube, https://github.com/renatomarinho/laravel-page-speed#publish-configuration-file und die nächsten Readme-Abschnitte gelten für alle Laravel-Versionen (einschließlich 5.5), um die Konfiguration zu veröffentlichen oder Middlewares zu verwenden, müssen Sie tun, was hier geschrieben wird –

Verwandte Themen