Zend Framework 3 Xampp数据库连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zend Framework 3 Xampp数据库连接相关的知识,希望对你有一定的参考价值。

我是Zend Framework 3的新手,我正在做this教程:

我有一个xampp,mysql设置。

我完成了本教程中的所有操作。现在我正处于配置数据库连接的位置。此外,我已设置控制器和视图。

在上面的教程链接中,他们使用php创建数据库,然后在config / autoload / global.php中使用以下代码:

return [
'db' => [
    'driver' => 'Pdo',
    'dsn'    => sprintf('sqlite:%s/data/zftutorial.db', realpath(getcwd())),
   ],
];

我已将此编辑为:

'db' => [
'driver' => 'Pdo_Mysql',
'dsn'    => 'mysql:dbname=dbname;host=localhost;charset=utf8;username=myuser;password=mypassword',
],

当我为索引视图调用url时,出现以下错误:

警告:在第15行的C: xampp htdocs zendtest module Album src Controller AlbumController.php中从空值创建默认对象

致命错误:在第22行的C: xampp htdocs zendtest module Album src Controller AlbumController.php中调用null上的成员函数fetchAll()

AlbumController:

 <?php

    namespace AlbumController;

    use AlbumModelAlbumTable;
    use ZendMvcControllerAbstractActionController;
    use ZendViewModelViewModel;

    class AlbumController extends AbstractActionController {

    private $table;

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


    public function indexAction()
    {
        return new ViewModel([
            'albums' => $this->table->fetchAll(),
        ]);
    }

    }

我认为连接不起作用?

答案

你可以分享你的“AlbumControllerFactory.php”吗?

如果你还没有创建工厂,你应该这样做。

1 - 创建实现FactoryInterface的AlbumControllerFactory

2 - 内部__invoke函数使用Container将AlbumTable注入您的控制器

3 - 在module.config.php中配置映射

'controllers' => [
    'factories' => [
        ControllerAlbumController::class => ControllerFactoryAlbumControllerFactory::class,
另一答案

一切都很简单,你有关键$this的错误,你确实写了$htis而不是)

以上是关于Zend Framework 3 Xampp数据库连接的主要内容,如果未能解决你的问题,请参考以下文章

Zend Framework 2 安装期间的 Composer CreateProcess 错误代码 0

权限被拒绝在本地运行我的项目 Zend Framework

如何模拟 Zend\Form 提交而不在 Zend Framework 2/3 中显示表单?

Xampp 中的 Zend 框架

如何模拟Zend Form提交而不在Zend Framework 2/3中显示表单?

markdown Zend Framework 3:概述