一、创建数据库表
1、创建 数据库 表名 message

2、配置数据库 application/configs/application.ini
官方的
[production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 0 [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1
修改后的
[production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 0 [mysql] db.adapter=PDO_MYSQL db.params.host=localhost db.params.username=root db.params.password= db.params.dbname=trunk
加载数据库适配器 application/Bootstrap.php (先放到这个文件中,后期再优化)
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
//启动
function __construct($application)
{
parent::__construct($application);
//初始化我们的数据库适配器
$url=constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'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);
}
}3、创建模型文件 application/models/Message.php
<?php
/**
* Created by PhpStorm.
* User: 52998
* Date: 2019/4/25
* Time: 22:16
*/
//这个类和数据库中的某张表对应,通过Message对象实例可以完成对该表的crud操作
class Message extends Zend_Db_Table
{
protected $_name='message'; //定义表名
protected $_primary='message_id';//定义表主键
}4、控制器引入模型文件 application/controllers/IndexController.php
<?php
require_once APPLICATION_PATH.'/models/Message.php';
class IndexController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
// action body
//到数据库中查询
$messageModel= new Message();
$res=$messageModel->fetchAll()->toArray();
echo "<pre>";
print_r($res);
echo "</pre>";
exit;
//如果这里什么都没有写,相当于,用views/scripts/index.pthtml
$this->render('index');
}
}如果报错可以查看php错误日志
在php.ini 中设置,并查看。
error_log ="e:/wamp64/logs/php_error.log"

5,怎样把控制器中获取的数据
public function indexAction()
{
// action body
//到数据库中查询
$messageModel= new Message();
$res=$messageModel->fetchAll()->toArray();
//怎样把控制器中获取的数据(array,object,init,...)
$this->view->res=$res;
//如果这里什么都没有写,相当于,用views/scripts/index.pthtml
$this->render('index');
}6、view 使用数据 application/views/scripts/index/index.phtml
<style>
a:link,
a:visited
{
color: #0398CA;
}
span#zf-name
{
color: #91BE3F;
}
div#welcome
{
color: #FFFFFF;
background-image: url(http://framework.zend.com/images/bkg_header.jpg);
width: 600px;
height: 400px;
border: 2px solid #444444;
overflow: hidden;
text-align: center;
}
div#more-information
{
background-image: url(http://framework.zend.com/images/bkg_body-bottom.gif);
height: 100%;
}
</style>
<div id="welcome">
<h1>Welcome to the <span id="zf-name">Zend Framework!</span></h1>
<h3>This is your project's main page</h3>
<div id="more-information">
<p><img src="http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png" /></p>
<p>
Helpful Links: <br />
<a href="http://framework.zend.com/">Zend Framework Website</a> |
<a href="http://framework.zend.com/manual/en/">Zend Framework Manual</a>
</p>
</div>
</div>
<?php
foreach ($this->res as $message) {
echo $message['message_id'].'--'.$message['getter'].'<br />';
}
?>