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
至此係統可以直接訪問查詢數據庫數據。

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