본문 바로가기
공부 일지/개인 공부 기록용

에러로그 laravel 클론코딩

by Joshbla 2023. 6. 9.

기본 컨트롤러 세팅을 마치고 서버를 돌려보니

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문은 클래스 자동생성 때 생성된건데...)

나중에 원인을 알게되면 추가로 적어두자