私は私のコントローラのために工場を実装しようとしています:Zendの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で
は次のとおりです。
"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"
},
私はこの問題を理解していない、私は例えば、チュートリアルをたくさん読んで:あなたは私を助け
https://zendframework.github.io/zend-servicemanager/migration/
coould、お願いします?
私は現在、このメソッドは、:: __コントローラにモデルを注入するための
あなたはbelwoコード 'ナンバー\コントローラ\ナンバー' =>ファクトリー\ NumberControllerFactory ::クラス それとも コントローラ\ NumberController ::クラス=>ファクトリー\ NumberControllerFactory ::クラスを使用することができます –