ZF----Model操作

1、在application.ini文件中增加配置项

[mysql]

db.adapter=PDO_MYSQL  #使用的数据库连接

db.params.host=127.0.0.1  #数据库的ip地址

db.params.username=root  #连接的用户名

db.params.password=123456  #密码

db.params.dbname=book  #数据库名称


2、在application/Bootstrap.php中写上如下代码

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap

{

    public function __construct($application){

        parent::__construct($application);

       

        header("Content-type:text/html; charset=utf-8");    //处理显示的中文乱码问题

//         $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);

    }

}

建议把配置文件的内容从分离出来,因为其为二号入口,新建BaseController.php

abstract class BaseController extends Zend_Controller_Action{

        public function init()

        {  

            //获取配置文件的路径

            $url = constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';

        //将配置文件封闭成一个对象,zend框架提供的方法

            $dbconfig = new Zend_Config_Ini($url,"mysql");

$db = Zend_Db::factory($dbconfig->db);

            $db->query('SET NAMES UTF8');

           

//给所有Zend_Db_Table都添加数据库连接

            Zend_Db_Table::setDefaultAdapter($db); 

        }

    }

 

3、创建一个数据表

比如:book表,有字段id、name、description、author_name,其中id是自增的

 

4、创建一个Zend_Db_Table实例

       在application/models/目录下创建一个名为Book.php的文件

      

class Book extendsZend_Db_Table{

    protected $_name = 'book';

    protected $_primary = 'id';// 默认名为id,可以省掉

}

 

5、在Controller中写入如下代码进行调用

假设使用的是application/controllers/IndexController.php

在这个文件中写如下面这段代码

classIndexController extends Zend_Controller_Action{

    public function indexAction(){

        // action body

        $book = new Book();

        $books = $book->fetchAll();

        print_r($books);

    }

}

6、在浏览器中通过http://xxx.com/ 或者 http://xxx.com/index访问查看效果。

你可能感兴趣的:(Framework)