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

至此系统可以直接访问查询数据库数据。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容