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\Form 提交而不在 Zend Framework 2/3 中显示表单?