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調試工具查看返回。
至此係統可以直接訪問查詢數據庫數據。