inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

PHP 7+ 프로그래밍: 객체지향

namespace class not found 질문

해결된 질문

466

최선우

작성한 질문수 7

0

안녕하세요, 선생님!

강의는 잘 듣고있습니다.

그런데, 나만의 프레임워크 만들기 목차 중 Http강의에서 코드를 실행하던 중 namespace 내에 class가 발견되지 않는다는 오류를 발견했습니다. 코드는 일단, 모두 똑같은데 어디에서 문제가 발생한 것인지 원인을 잘 모르겠네요..ㅠㅠ

{
    "name": "pronist/eclair",
    "description": "eclair is a simple PHP micro framework.",
    "type": "library",
    "license": "MIT",
    "autoload": {
        "psr-4": {
            "Pronist\\Eclair\\": "src/"
        }
    },
    "authors": [
        {
            "name": "sunwoo"
        }
    ],
    "require": {}
}

 

 

<?php

namespace Eclair\Http;

class Request
{
    public static function getMethod()
    {
        return filter_input($_POST, '__method') ?: $_SERVER['REQUEST_METHOD'];
    }

    public static function getPath()
    {
        return $_SERVER['PATH_INFO'] ?? '/';
    }

}

 

-index.php

<?php

require './vendor/autoload.php';

use Eclair\Http\Request;

$_SERVER['REQUEST_METHOD'] = 'GET';


var_dump(Request::getMethod());

 

디렉토리 구조는

ECLAIR(폴더)

/src

/Database

-adaptor.php

/Http

-Request.php

/vendor

-composer.json

-index.php

디렉토리 구조 또한 강의 중 그것과 동일합니다.

 

 

 

php oop

답변 1

1

정상우

안녕하세요 :)

올려주신 composer.json 을 살펴보면, psr-4 매핑이 "Pronist\\Eclair\\": "src/" 로 되어있는데,
코드에는 namespace Eclair\Http 와 같이 사용하고 있군요. 즉, 매핑이 잘못되었습니다. composer.json 에 Pronist\\ 를 붙인 이유는 단순하게 벤더 이름을 표기하기 위함입니다. namespace Eclair 와 같이 접근하기 위해서는 "Eclair\\": "src/" 와 같이 해보시기 바랍니다.

0

최선우

선생님이 알려주신 방법으로 해결완료했습니다! 그런데, 다만 저장을 했는데도 불구하고 동일한 에러가 출력되어 자료를 조금 더 찾아보니, composer를 변경한 이후에는 composer update 명령어를 입력해주어야함을 새로 배우게 됐습니다!

다음에도 궁금한 것이 있으면, 한 번 더 찾아뵙겠습니다!감사합니당 ~ :)

패케지스트를 하지 않고 섹션7을 수행할수 있나요

0

90

1

나만의 프레임워크 작성 후, 운영환경 배포에 관한 문의 드려요

0

399

1

35강 미들웨어에서 인증 과정을 Auth클래스로 만들면, 어느 디렉토리에 둘까요?

0

335

1

ios환경에서는 어떻게 설치해야 하나요?

0

446

1

라라벨(php) 배포 문의

0

1651

1

왜 http://localhost/ 로 접근하면 public/index.php 가 실행되나요?

0

2102

1

http://localhost:8080/posts/1 접근시 배열 0값 표기 오류

0

397

1

xdebug 설치

0

667

1

localhost 경로

0

441

1

class not found

1

327

1

csrfmiddelware 에러 질문입니다

0

363

2

url Parttern Parts 가 무슨뜻인가요?

0

349

1

통합 개발환경 (IDE) 관련 문의

0

246

1

Route 클래스 질문이 있습니다!

0

297

1

모델 User 등에서 속성들을 protected 나 private 으로 설정하지 않는 이유가 있습니까?

0

340

1

안녕하세요 프로젝트를 react와 연동하기에 대해서 여쭈고 싶습니다 :)

1

1377

1

DatabaseSessionHandler.php 에러 해결 부분

0

298

1

안녕하세요. 라우터 서버 연결 질문이 있습니다.

1

281

1

아니 강사님 왜 자꾸 어어 거려요? 진짜 겁나 거슬려 죽겠네 ㅡㅡ 어좀 적당히해요 거슬려 죽겠네 그리고 마이크 좀 좋은거 쓰세요 볼륨이 낮아졌다 커졌ㄷ ㅏ하고 발음도 다뭉개져지고 딕션도 안 좋아서 하나도 안들려요 진짜 개짜증나네

1

572

2

로컬환경에서 개발 후 운영환경으로 배포 시 발생하는 이슈에 대한 문의입니다.

1

575

2

DatabaseSessionHandler 클래스의 gc($maxlifetime) 메소드에 대해 질문드립니다.

2

258

1

Xdebug 설치 후 php index.php 실행하면 오류가 납니다..!

0

1133

1

CentOS 7.* 서버쪽으로 배포를 해보던 중에 질문드립니다.

1

367

1

User 클래스에 대한 질문입니다.

1

186

1