zend framework入门3

来源:互联网 发布:source2引擎源码 编辑:程序博客网 时间:2024/06/05 21:37
Zend_Db::factory()来做的数据库连接等,返回一个数据库适配器,就

可以进行各种操作了

为什么会找到总控?

如果是404,必走过总控和bootstrap

.htaccess重写机制?


有一句话:

RewriteRule ^.*$ index.php [NC,L]    改写成

http://www.zf1.com/index.php


而public/index.php就是初始化的过程,使用了反射机制


不用框架我们可不可以利用重写机制?(即走总控)

是可以的,在php项目中,我们通过对URL的重写,可以完成整改项目只

有一个入口

RewriteEngine on   打开
RewriteRule ^.*$\.php enter.php  可以自己定义规范
RewriteRule ^.*$\.html enter2.php

还需要在Apache中启用重写机制rewrite,就会读网站的根目录

读.htaccess,这就有大门了,从此进入网站就从入口进入了

改了Apache的配置文件需要重启Apache


问题:控制器和action区不区分大小写?

我们的控制器和它的Action方法,要小写,后后面的Controller和

Action不要写错。

如何添加控制器、视图和model:

在controllers文件夹中添加
继承
<?php
class testController extends Zend_Controller_Action {

    public function init(){

    
    }

    public function loginAction(){
        //echo '用户登录';
        $this->render('login'); 这样就会去找

scripts/test/login.phtml
    }
}

?>


在scripts文件夹中添加一个文件夹test

在这个文件夹中定义login.phtml

优化代码:

有些程序不需要对数据库连接和操作,所以在Bootstrap中不写连接数

据库代码

于是哪一个controller需要数据库就用init()方法里面

BaseController.php 作为一个父类,专门供其他的controller来继承

class BaseController extends Zend_Controller_Action{

    public function init(){
        //初始化代码或者数据库代码
    }


}

需要数据库连接的要继承 BaseController

不需要数据库连接的继承 Zend_Controller_Action

0 0