zend - 函数参数太少

zend - Too few arguments to function

indexcontroller.php代码中

namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class IndexController extends AbstractActionController
{
    protected $table;

    public function __construct($table)
    {
        $this->table=$table;
    }

    public function indexAction()
    {

        $users=$this->table->fetchall();

        foreach($users as $user){


            echo $user->getName().'<br/>';

        }

        exit;

        return new ViewModel();
    }

}

这是我的 module.php 文件代码

namespace Application;

use Zend\Db\Adapter\AdapterInterface;
use Zend\Db\TableGateway\TableGateway;
use Zend\Db\ResultSet\ResultSet;
use Zend\ModuleManager\Feature\ConfigProviderInterface;

class Module implements ConfigProviderInterface
{

    const VERSION = '3.0.3-dev';

    public function getConfig()
    {
        return include __DIR__ . '/../config/module.config.php';
    }

    public function getServiceConfig()
    {
        return [
        'factories'=>[
        Model\UserTable::class=>function($container){
            $tableGateway=$container->get(Model\UserTableGateway::class);
            return new MOdel\UserTable($tableGateway);
        },
        Model\UserTableGateway::class=>function($container){
            $adapter=$container->get(AdapterInterface::class);
            $resultSetPrototype=new ResultSet();
            $resultSetPrototype->setArrayObjectPrototype(new Model\User);
            return new TableGateway('user', $adapter, null, $resultSetPrototype);
        }
        ]
        ];


}
public function getControllerConfig()
{
    return[
    'factories'=>[
    Controller\IndexConroller::class=>function($container){
        return new Controller\IndexController(
        $container->get(Model\UserTable::class)
        );
    }
    ]
    ];

}
}

当 运行 此代码显示如下错误:

文件:

C:\xampp\htdocs\ZEND\ZendSkeletonApplication-master\module\Application\src\Controller\IndexController.php:17

留言:

Too few arguments to function Application\Controller\IndexController::__construct(), 0 passed in C:\xampp\htdocs\ZEND\ZendSkeletonApplication-master\vendor\zendframework\zend-servicemanager\src\Factory\InvokableFactory.php on line 30 and exactly 1 expected

有人可以帮我解决这个问题吗?

谢谢

在您的 module.php 文件中,模型应该是模型。

public function getServiceConfig()
    {
        return [
        'factories'=>[
        Model\UserTable::class=>function($container){
            $tableGateway=$container->get(Model\UserTableGateway::class);
            **return new MOdel\UserTable($tableGateway);**
        },
        Model\UserTableGateway::class=>function($container){
            $adapter=$container->get(AdapterInterface::class);
            $resultSetPrototype=new ResultSet();
            $resultSetPrototype->setArrayObjectPrototype(new Model\User);
            return new TableGateway('user', $adapter, null, $resultSetPrototype);
        }
        ]
        ];
}