내 컨트롤러를위한 공장을 구현하기 위해 노력하고있어 :젠드 3 공장 인터페이스
class NumberControllerFactory implements FactoryInterface{
public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
return new NumberController($container->get(Bar::class));
}
public function createService(ServiceLocatorInterface $services)
{
return $this($services, NumberController::class);
}
}
있어 I 오류 : 나는 주입 원하기 때문에 나는이 필요
Fatal error: Declaration of Number\Factory\NumberControllerFactory::__invoke() must be compatible with Zend\ServiceManager\Factory\FactoryInterface::__invoke(Interop\Container\ContainerInterface $container, $requestedName, array $options = NULL) in C:\xampp\htdocs\MyProject\module\Number\src\Number\Factory\NumberControllerFactory.php on line 10
Zend 3의 컨트롤러에서 서비스 관리자가 제거 되었기 때문에 모델에서 컨트롤러로 변경되었습니다.
01에 설명 된 스켈레톤을 사용했습니다. composer.json에서
은 다음과 같습니다,
https://zendframework.github.io/zend-servicemanager/migration/
이 coould 당신은 나를 도와 :"require": {
"php": "^5.6 || ^7.0",
"zendframework/zend-component-installer": "^1.0 || ^0.3 || ^[email protected]",
"zendframework/zend-mvc": "^3.0.1",
"zfcampus/zf-development-mode": "^3.0"
},
나는이 문제를 이해하지 않는, 내가 예를 들어 자습서를 많이 읽고, 부디?
나는 현재이 방법은 :: __ 컨트롤러에 모델을 주입하기위한
당신은 belwo 코드 '수 \ 컨트롤러 \ 번호'=> 공장 \ NumberControllerFactory :: 클래스 또는 컨트롤러 \ NumberController :: 클래스 => 공장 \ NumberControllerFactory :: 클래스를 사용할 수 있습니다 –