CakePHP
1.簡(jiǎn)介
CakePHP是一個(gè)開(kāi)源的MVC框架。 它使應(yīng)用程序的開(kāi)發(fā),部署和維護(hù)變得更加容易。 CakePHP具有多個(gè)庫(kù)來(lái)減少大多數(shù)常見(jiàn)任務(wù)的過(guò)載。
本文介紹 CakePHP 該如何連接使用瀚高數(shù)據(jù)庫(kù)。
2.加載驅(qū)動(dòng)
具體操作步驟請(qǐng)參考 php_pdo_pgsql 接口說(shuō)明文檔。
3.數(shù)據(jù)庫(kù)連接
3.1.數(shù)據(jù)庫(kù)準(zhǔn)備
create database cakephp; |
3.2.數(shù)據(jù)庫(kù)配置
CakePHP有一個(gè)用來(lái)保存數(shù)據(jù)庫(kù)配置的文件(用戶名,密碼,數(shù)據(jù)庫(kù)名等),配置文件 config/app.php
'default' => [ |
3.3.路由配置示例
路由規(guī)則定義在 config/routes.php 文件中。
$builder->connect('/student', ['controller' => 'Student', 'action' => 'list']); |
3.4.Model 代碼示例
在 **src/Model/Table/ 新建文件 StudentTable.php **,代碼如下:
<?php |
3.5.控制層代碼示例
在** src/controllers/ **新建文件 StudentController.php , 代碼如下:
<?php |
3.6.View 代碼示例
在 templates/ 下新建目錄 Student,新建文件 **list.php **,代碼如下:
<table> |
3.7.訪問(wèn)測(cè)試
瀏覽器訪問(wèn) http://localhost:8765/student
4.常見(jiàn)問(wèn)題
1) Database driver Cake\Database\Driver\Postgres cannot be used due to a missing PHP extension or unmet dependency.
問(wèn)題原因:php未成功加載pdo_pgsql擴(kuò)展
解決方案:php.ini 文件,檢查pdo_pgsql是否加載成功
2) Connection to Postgres could not be established: SQLSTATE[08006] [7] authentication method 13 not supported
問(wèn)題原因:瀚高數(shù)據(jù)庫(kù)支持的認(rèn)證密碼加密方式包括 md5, sm3 和 scram-sha-256 ,報(bào)錯(cuò)是因?yàn)槭褂昧藄m3,驅(qū)動(dòng)不支持國(guó)密算法
解決方案一:數(shù)據(jù)庫(kù)密碼認(rèn)證方式修改為 md5 或 scram-sha-256
解決方案二:下載替換對(duì)應(yīng)版本的驅(qū)動(dòng),具體操作方法請(qǐng)參考 php_pdo_pgsql 接口說(shuō)明