ZendFrameWork3 连接数据库MySQL
###第一步:清理默认配置
刚安装好的代码目录里面有些自带的代码、文件及目录是不需要的,处理 config目录保留以下文件
###第二步:配置数据库连接
编辑 config/autoload/global.php 文件内容如下:
<?php
return [
//数据库连接配置
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=数据库表名;host=数据库IP;port=数据库端口',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'',
PDO::MYSQL_ATTR_FOUND_ROWS => 2
),
),
//配置数据库适配器
'service_manager' => [
'factories' => [
'Zend\Db\Adapter\Adapter' => function ($container) {
$adapterFactory = new \Zend\Db\Adapter\AdapterServiceFactory ();
$adapter = $adapterFactory->createService($container);
return $adapter;
},
],
],
//在view_manager中创建策略,前台能接收调用返回的jsonModel输出json的数据
'view_manager' => [
'strategies' => array(
'ViewJsonStrategy',
),
]
];
编辑 config/autoload/local.php 文件内容如下:
<?php
return array(
'db' => array(
'username' => 数据库连接账号,
'password' => 数据库连接密码
),
);
编辑config/application.config.php 文件里配置如下
#....
//是否允许配置缓存,为不影响调试,设置为不允许。
'config_cache_enabled' => false,
#....
在数据库创建一个Articles表,表字段设置如下
插入几条数据进行接下来的测试。
修改module/Application/src/Controller/IndexController.php内容如下:
<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\JsonModel;
use Zend\Db\ResultSet\ResultSet;
class IndexController extends AbstractActionController
{
public function indexAction()
{
//获取数据库服务管理器
$dbAdapter = $this->getEvent()->getApplication()->getServiceManager()->get('Zend\Db\Adapter\Adapter');
//查询语句
$sql = "select * from articles";
//执行
$statement = $dbAdapter->createStatement($sql);
$result = $statement->execute();
//格式化输出
$resultSet = new ResultSet();
$resultSet->initialize($result);
//返回数据前台
return new JsonModel(array('result' => true, 'msg' => $resultSet->toArray()));
}
}
打开浏览器访问http://127.0.0.1,通过F12调试工具查看返回。
至此系统可以直接访问查询数据库数据。、
github 地址
https://github.com/yharvey956/ZendFramwork3-Demo