【发布时间】:2017-09-18 04:17:24
【问题描述】:
所以我正在尝试学习 zend 框架 3,但从几个小时开始我就一直坚持这个错误:
Unable to resolve service "Blog\Controller\ListController" to a factory; are
you certain you provided it during configuration?
我正在学习的教程: https://docs.zendframework.com/tutorials/in-depth-guide/models-and-servicemanager/
教程在“Writing a Factory Class”这一点上说,这个错误消息是预期的,但在“Registering Services”它应该得到修复,好吧,它没有。
我的模块.config.php:
<?php
namespace Blog;
use Zend\Config\Factory;
use Zend\Router\Http\Literal;
use Zend\ServiceManager\Factory\InvokableFactory;
return [
'service_manager' => [
'aliases' => [
Model\PostRepositoryInterface::class => Model\PostRepository::class,
],
'factories' => [
Model\PostRepository::class => InvokableFactory::class,
],
],
'controllers' => [
'factories' => [
// Update the following line:
Controller\ListController::class =>
Factory\ListControllerFactory::class,
],
],
'router' => [
'routes' => [
'blog' => [
'type' => Literal::class,
'options' => [
'route' => '/blog',
'defaults' => [
'controller' => Controller\ListController::class,
'action' => 'index',
],
],
],
],
],
'view_manager' => [
'template_path_stack' => [
__DIR__ . '/../view',
],
],
];
我的 ListController.php:
namespace Blog\Controller;
use Blog\Model\PostRepositoryInterface;
use Zend\Mvc\Controller\AbstractActionController;
class ListController extends AbstractActionController
{
/**
* @var PostRepositoryInterface
*/
private $postRepository;
public function __construct(PostRepositoryInterface $postRepository)
{
$this->postRepository = $postRepository;
}
}
【问题讨论】:
标签: php zend-framework zend-framework3