ZendFrameWork3 入门(二) 数据库连接

ZendFrameWork3 连接数据库MySQL

###第一步:清理默认配置
刚安装好的代码目录里面有些自带的代码、文件及目录是不需要的,处理 config目录保留以下文件
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表,表字段设置如下

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调试工具查看返回。
Chrome DevTools
至此系统可以直接访问查询数据库数据。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章