ZendFramework流程
Bootsrap.php內寫入:
//啓動
function __construct($app) {
parent::__construct($app);
file_put_contents("G:/xampp/htdocs/logs/tZF1/logs.txt",__FILE_.date('Y-m-d H:i:s').'..\r\n',FILE_APPEND);
}
可以在G:/xampp/htdocs/logs/tZF1內產生一個logs.txt文件記錄日誌信息
數據庫連接設置
1.建立信息表message表格
2.htdocs/tZF1/application/models內新建一個message.php即‘表名.php’文件,文件內寫
/**
* table_name表CRUD操作
*/
class TableName extends Zend_Db_Table
{
protected $_name = 'table_name';
protected $_primary = 'pk';
function __construct(argument)
{
# code...
}
}
3.htdocs\tZF1\application\controllers\IndexController.php內引入module文件
require_once APPLICATION_PATH.'/models/table_name.php';
...
public function indexAction(){
//到數據庫查詢
$messageModel = new Message();
$res = $messageModel->fetchAll()->toArray();
echo "<pre>";
print_r($res);
echo "</pre>";
$this->view->res = $res;
$this->render('index');
}
4.htdocs\tZF1\application\configs\application.ini配置數據庫信息
[mysql]
db.adapter = PDO_MYSQL
db.params.host = localhost
db.params.username = admin
db.params.password = admin
db.params.dbname = zf
5.htdocs\tZF1\application\Bootstrap.php內初始化適配器
function __construct($app) {
parent::__construct($app);
//初始化適配器
//找到配飾文件
$url = constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';
//讀取mysql(與application.ini 節點名一致)文件
$dbconfig = new Zend_Config_Ini($url, "mysql");
$db = Zend_Db::factory($dbconfig->db);
$db->query('SET NAMES UTF8');
Zend_Db_Table::setDefaultAdapter($db);
}
6.視圖顯示數據庫信息
htdocs\tZF1\application\views\scripts\index\index.phtml寫入
<?php foreach ($this->res as $value) {
echo $value['columns_name']."=".$value['columns_name']."<br>";
} ?>
7.注意 需要開啓PDO和PDO相關數據庫引擎
在php.ini文件內
extension=php_pdo_mysql.dll\\去掉分號
單入口,重定向
1.\htdocs\tZF1\public.htaccess內配置
RewriteEngine On
#.匹配除\n外所有字符
#設置訪問 http://tZF1.com/****都會訪問index.php
#即改寫爲 http://tZF1.com/index.php
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
2.開啓Apache 的rewrite模塊
在httpd.conf目錄下
#啓用rewrite功能
LoadModule rewrite_module modules/mod_rewrite.so
- AllowOverride None 全部改寫成AllowOverride All
4.說明:rewrite開啓後會自動尋找根目錄下的.htaccess文件
即:apache內有init() {
//讀取httpd.conf // rewrite
//調用rewritemodle
//讀取.htaccess
}
配置錯誤日誌
在php.ini內error_log = php_errors.lg配置
error_log = "D:\xampp\htdocs\syslog\phperr.log"
自定義輸出日誌
file_put_contents('G:/xampp/htdocs/mylog.txt'.__FILE__."\r\n",FILE_APPEND);
PS.
- 控制器action_nameAction(){…}
action_name必需小寫 - 若action_namEAction(){…}
http ://tZF1.com/index/action_name
無法匹配,輸出htdocs\tZF1\application\views\scripts\error\error.phtml內容 - action_namEAction(){…}
http ://tZF1.com/index/action_namE
報錯404 - 數據庫引擎 MyISAM不支持外鍵,但速度略快
InnoDB支持外鍵
目前使用MyISAM居多