laravel - larav5에서 공급자를 생성하면 인스턴스화할 수 없는 문제가 발생합니다.
伊谢尔伦
伊谢尔伦 2017-05-16 16:56:43
0
5
559

larave5에서 자신만의 서비스 공급자를 생성하세요. 실행 시 다음 오류 메시지가 나타납니다. Target [AppIServicesTestServiceInterface]는 인스턴스화할 수 없습니다. 코드 구조는 다음과 같습니다. 이유 분석에 도움을 주세요.

서비스 관련 인터페이스를 저장하기 위해 앱 디렉터리에 IServices라는 디렉터리를 만들었습니다. 구현은 Services 디렉토리에 위치합니다.
그런 다음 서비스 공급자는 공급자 디렉터리에 배치됩니다.
위 단계를 완료한 후 app.php에 서비스 제공자를 등록합니다.
그런 다음 인터페이스에 따라 HomeController의 생성자를 통해 주입합니다.

실행 중에 인스턴스화할 수 없는 오류가 보고되었습니다.
이해가 안 돼요. 왜 인스턴스화할 수 없나요? 나는 이미 이 인터페이스를 구현했습니다. 그리고 등록도 됐나요? 어떤 키 링크가 잘못되었나요? 아니면 놓쳤나요? 누군가 나에게 조언을 해줄 수 있기를 바랍니다. 감사합니다!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(5)
曾经蜡笔没有小新

버그 추적 및 서비스 제공업체를 게시하고 살펴보세요. 그렇지 않으면 아무리 훌륭하더라도 어디에서 잘못되었는지 추측할 수 없습니다. 내 직관에 따르면 아마도 app.php

에 자신의 공급자를 추가하지 않았을 것입니다.
巴扎黑

글은 정확하지만 바인딩하려는 인터페이스의 구현이 무엇인지 ioc에 알려야 합니다. l4에서는 그렇습니다. bind 方法, l5还没细看,应该也有这个方法吧。否则 laravel 就不知道该注入什么,自然光一个接口是无法实例化的了。
应该找一个地方写上类似 App::bind('TestServiceInterface', 'TestService')

phpcn_u1582

심술궂은 질문을 하고 싶다
인터페이스를 인스턴스화할 수 있나요?

PHPzhong

왜 작곡가를 통해 프로젝트를 다시 승인했는지 모르겠습니다. 한 번만 썼는데 괜찮 았습니다. 학습 과정에서 이전 프로젝트에서 뭔가 변경되었을 수도 있습니다. 정확히 어디에서 오류가 발생하는지 찾지 못했습니다. 후회

过去多啦不再A梦

형님 궁금해요~, 이 문제는 해결됐나요? 쓰러질 것 같아

직접 답을 찾아본 결과 작곡가가 이상한 짓을 하고 있다는 사실이 밝혀졌습니다. coposer.json을 이해해야 할 것 같습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿