기본 컨트롤러 세팅을 마치고 서버를 돌려보니
Illuminate \ Contracts \ Container \ BindingResolutionException
Target class [ProductController] does not exist. 에러가 발생했다.
원인은 web.php에서 라우트 설정을 할때 ProductController와 메서드를 라우트를 했으나
위쪽에 use문을 작성하는 것을 깜빡했다.
use \App\Http\Controllers\ProductController;
이렇게 작성하여 해결했는데
바로 다른 에러가 발생했다.
Symfony \ Component \ ErrorHandler \ Error \ FatalError
Cannot declare class ProductController, because the name is already in use
이름이 이미 사용되고 있다는 것인데
<?php
namespace App\Http\Controllers;
use App\Models\product;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ProductController extends Controller
{
이렇게 작성된 파일에서 두번째 Controller 관련 use문을 삭제하니 해결되었다.
클래스를 상속받는 경우 use문을 작성 안해줘도 되는건가?
(근데 저 use문은 클래스 자동생성 때 생성된건데...)
나중에 원인을 알게되면 추가로 적어두자
'공부 일지 > 개인 공부 기록용' 카테고리의 다른 글
| [JAVA] 이미지 리사이징, 썸네일 (1) | 2023.11.27 |
|---|---|
| 에러로그 Laravel 게시판 - 라우트 404에러 (0) | 2023.06.22 |
| [JPA] N+1 문제 (0) | 2023.05.22 |
| 에러로그 (mysqladmin flush-hosts) (0) | 2023.05.19 |
| 프로젝트 역이요 - 리팩토링 3일차 (1) | 2023.05.15 |