@jurek1980:
Nauka przed rozpoczęciem nowej pracy. Przyszły szef poprosił mnie żebym zapoznał się z Laravelem, z którego będziemy korzystać w pracy. Uczę się go od kilku tygodni. Szef poprosił, bym po stworzeniu aplikacji blog
i ksiegaGosci
, które stworzyłem, połączył je w jedną. Dzwoniłem dziś do Niego i powiedział, że na upartego mogą to być paczki, o ile da się wywoływać kontrolery paczki, poza nią. I da się, bo sprawdziłem, trzeba tylko albo podać w pliku routes/web.php
kompletną przestrzeń nazw i po niej nazwę kontrolera, albo, żeby za każdym razem nie wpisywać przestrzeni, zrobić sztuczkę:
W pliku: app/Providers/RouteServiceProvider.php
Zmodyfikować metodę boot()
podając jej na sztywno przestrzeń i nowy plik routes/web<N>.php
(ja sobie wymyśliłem web2.php
, ale można wpisać dowolną nazwę):
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
Route::middleware('web')
//->namespace($this->namespace)
->namespace('App\Http\Controllers') // <-----------------------------------------
->group(base_path('routes/web.php'));
Route::middleware('web')
//->namespace($this->namespace)
->namespace('Przestrzen/Pakietu') // <-----------------------------------------
->group(base_path('routes/web2.php'));
});
}
W pliku web2.php
definiuję nową ścieżkę i mogę w nim odwołać się do kontrolera pakietu. Mało eleganckie rozwiązanie, ale coś jest :P
PS.
Szef powiedział, że jeżeli zrobię to na pakietach (przerobię apki blog
i ksiegaGosci
na pakiety) i wkomponuję je w nową apkę, to na upartego mu to nie przeszkadza. Ale wolałby, żeby można było wkleić zasadniczy fragment całego projektu (dowolnego) i bez przeróbek móc go wykorzystywać w aplikacji.