Open appkr opened 8 years ago
라라벨 5.2.27부터는 'web' 미들웨어가 기본 적용됩니다. 이 동작은 app/Providers/RouterServiceProvider.php
의 변경때문에 발생합니다.
// app/Http/routes.php
Route::get('/', function () {
return 'Hello World!';
});
$ php artisan route:list
+--------+-----------+-----+------+---------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+-----+------+---------+------------+
| | GET|HEAD | / | | Closure | web |
+--------+-----------+-----+------+---------+------------+
라라벨은 laravel/laravel
, laravel/framework
두개의 패키지로 구성됩니다. 라라벨 5.2.27이란 두개의 패키지 모두가 버전 5.2.27 이상일 때를 말합니다.
2016-3-27 이전에 새로 만들어 작업하던 프로젝트에서 $ composer update
를 하면 laravel/framework
패키지만 업데이트됩니다. 즉, laravel/laravel
패키지의 app/Providers/RouteServiceProvider.php
파일은 변경이 없으므로, 기존 라우팅 코드를 그대로 두셔됩니다.
최근에 이 강좌를 따라하시는 분이라면,
$ laravel new myProject
명령으로 새로운 프로젝트를 생성했을 때 5.2 버전이 설치될 것입니다.이 때 5.2 버전 부터 도입된
$middlewareGroups
때문에 세션이 유지되지 않는 (== 로그인이 되지 않는) 문제가 있을 겁니다.해결하는 방법은
라우팅 정의를
Route::group(['middleware' => ['web']], function () { /* 라우팅 정의는 여기에.. */ });
로 싸주거나,$middlewareGroups
속성을 쓰지 않는 방법입니다.이 강좌가 5.1 기준으로 쓰여졌으므로, 우선 2 의 방법을 사용하실 것을 권장합니다.
Happy coding~