二、快速入门

二、快速入门

一、创建数据库表

1、创建 数据库  表名 message

image.png

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"

image.png

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 />';
}
?>





回复列表


回复操作