laravel benutzerdefinierte Klassen alias hinzufügen

So, ich möchte hinzufügen eines alias für benutzerdefinierte Klassen, um in der Lage sein, um Sie in blade:

<?php
namespace App\Classes;

class Requirement
{
    public static function Test()
    {
        return "hello";
    }
} 

In config/app.php ich habe einen alias wie folgt:

...
'Requirement' => App\Classes\Requirement::class

Dann, ich möchte in der Lage sein, es zu nennen in einem blade-Vorlage wie

{{ Requirement::Test() }}

Aber der alias funktioniert nicht irgendwie. Ich habe auch versucht composer dump-autoload, aber es funktioniert immer noch nicht.

BTW: Ist das hinzufügen von benutzerdefinierten Klassen wie, dass ein gangbarer Weg zu implementieren, die site-spezifische Logik, wie das abrufen und verarbeiten von Daten von einer Datenbank oder gibt es einen besseren Ansatz?

Bearbeiten 1

Ich erstellt Requirement.php im app/Facades mit folgendem Inhalt

<?php
namespace App\Facades;
use Illuminate\Support\Facades\Facade;

class Requirement extends Facade{
    protected static function getFacadeAccessor() { return 'Requirement'; }
}

Hinzugefügt PageContentProvider.php im app/Providers mit folgendem Inhalt

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class PageContentProvider extends ServiceProvider
{
    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('Requirement', function($app){
            return new \App\Classes\Requirement();
        });
    }
}

und in config/app.php den alias

'Requirement'=>App\Facades\Requirement::class

sowie der Anbieter

App\Providers\PageContentProvider::class

aber es funktioniert immer noch nicht.

Edit 2

Durch hinzufügen von etwas wie

exit();

oder

echo "blabla";

innen register(), ändert sich nichts. Nicht, dass PageContentProvider ist auch nicht immer geladen?

Edit 3

Da die standard - AppServiceProvider geladen wird, Lösch ich den jeweiligen Eintrag der AppServiceProvider im config/app.php... und es noch funktionierte! Irgendwie sind meine änderungen nicht angewendet. Hat jemand Lösung dafür?

InformationsquelleAutor VGD | 2015-09-07

Schreibe einen Kommentar