Routing

eś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::class, '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::class, '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 (ewentualnie połączony wzorcem Dekorator lub dziedziczeniem) pod stary namespace. Przykład:
    $this->app->bind(\N1ebieski\ICore\Http\Controllers\Web\PostController::class, \App\Http\Controllers\Web\PostController::class);
  • zmodyfikować wybrany route w odpowiednim pliku w lokalizacji routes/vendor/icore przekierowując go na własny kontroler. Konfiguracja routingu aplikacji nadpisze wówczas konfigurację iDir.

W obu przypadkach zachowujemy cały stack middlewarów, jak również pozostałe ustawienia.

# Dostęp do routów panelu administracyjnego

Routy panelu administracyjnego można opublikować poleceniem:

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


# Dostęp do routów API

Routy API można opublikować poleceniem:

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


# Wyłączanie grup routów

Poszczególne grupy routów można wyłączyć z poziomu pliku config/icore.php ustawiając zmienną enabled:

    'routes' => [
        'web' => [
            'enabled' => false
        ],


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

php artisan route:cache