Routing

Jeśli z jakichś przyczyn nie masz dostępu do routingu iCore, możesz opublikować odpowiednie pliki poleceniem:

php artisan vendor:publish --tag=icore.routes.web

Konfiguracja routingu dostępna jest z poziomu folderu:

/routes/vendor/icore/


Zmiana wyglądu routów

Każdy route można dostosować do swoich potrzeb. Zmienić nazwę identyfikatora lub slash na myślnik. Przykład:

// https://adres-strony.pl/posts/nowy-post
Route::match(['get', 'post'], 'posts/{post_cache}', 'PostController@show')
    ->name('post.show')
    ->where('post_cache', '[0-9A-Za-z,_-]+');

można zamienić na:

// https://adres-strony.pl/blog-nowy-post
Route::match(['get', 'post'], 'blog-{post_cache}', 'PostController@show')
    ->name('post.show')
    ->where('post_cache', '[0-9A-Za-z,_-]+');

Przekierowanie route na własny kontroler

Jeśli chcemy zmienić logikę aplikacji pod aktualnymi routami należy:

  • za pomocą Laravel Service Container zbindować nowy kontroler (połączony wzorcem Dekorator lub dziedziczeniem) pod stary namespace Przykład:
    $this->app->bind(\N1ebieski\ICore\Http\Controllers\Web\PostController::class, function () {
        return new \App\Http\Controllers\Web\PostController(
            new \N1ebieski\ICore\Http\Controllers\Web\PostController
        );
    });
    Zachowujemy wówczas cały stack middlewarów, jak również pozostałe ustawienia.
  • stworzyć własny route w routes/web.php pod tym samym name. Konfiguracja routingu aplikacji nadpisze wówczas konfigurację iCore. Należy wówczas samodzielnie podpiąć odpowiednie middlewary.

Dostęp do routów panelu administracyjnego

Routy panelu administracyjnego można opublikować poleceniem:

php artisan vendor:publish --tag=icore.routes.admin


Po wykonaniu zmian w konfiguracji routingu należy ponownie wykonać cache poleceniem:

php artisan route:cache