Laravel 8: 라우팅 변경
새로운 laravel 8 설치에서 내
web.php
파일에 다음이 있습니다.Route::get('/', 'HomeController@index');
그리고 이것은
HomeController.php
의 인덱스 방법에서 /**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('welcome');
}
이것은 매우 친숙해야 하며
/
경로를 방문할 때 보기를 기대합니다. 오히려 우리가 보는 것은 오류 페이지입니다.일을 망쳤다고 생각하기 시작할 수도 있지만 그렇지 않았습니다. 오히려 laravel 8에서는 이 구문이 기본적으로 작동하지 않습니다. upgrade guide에서 언급되었지만 영향의 가능성은 선택 사항 🤨이었습니다. 이것이 언급되었지만 :
In most cases, this won't impact applications that are being upgraded because your RouteServiceProvider will still contain the $namespace property with its previous value. However, if you upgrade your application by creating a brand new Laravel project, you may encounter this as a breaking change.
laravel 8에서 경로를 정의하는 방법은 다음 중 하나입니다.
use App\Http\Controllers\HomeController;
// Using PHP callable syntax...
Route::get('/', [HomeController::class, 'index']);
또는
// Using string syntax...
Route::get('/', 'App\Http\Controllers\HomeController@index');
리소스 경로는
Route::resource('/', HomeController::class);
이것은 laravel 8에서 기본적으로 자동 컨트롤러 선언 접두사가 없다는 것을 의미합니다.
이전 방식을 고수하려면
RouteServiceProvider.php
에 네임스페이스 속성을 추가하고(이 속성은 이전 버전에 있음) route 메서드에서 활성화해야 합니다. /**
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
// Edit boot method
/**
* Define your route model bindings, pattern filters, etc.
*
* @return void
*/
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
});
요약하자면 laravel 8에서는 새 구문을 사용하여 경로를 정의하거나 이전 방식을 고수할 수 있습니다.
Reference
이 문제에 관하여(Laravel 8: 라우팅 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mr_steelze/laravel-8-routing-change-25co텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)