zend framework学习小结

原创 2007年09月28日 16:20:00

zend framework是MVC模式的一种实现,要快速的入门差不多只看Zend_Controller Zend_View 部分就可以了吧。

1.Zend_Controller部分。最重要的类是Zend_Controller_Front.使用它的经典代码很 简单:$front=Zend_Controller_Front::getInstance();$front-> setControllerDirectory("./app/controllers");$front->dispatch();这里要说明的 是不能使用new来获得一个Zend_Controller_Front,只能调用getInstance方法来返回一个实例(我的 zend_framework用的是1.01)。这里我指定的controllers目录是在www文档根目录之下的app文件夹之下。一般情况下app 不应该放在文档根目录下——所谓的安全问题:如果配置不严格,www文档根目录下的文件可能对访问者来说都是可见的。一般要放在别的目录,比如放在和文档 根目录同级的地方则可以使用:$front->setControllerDirectory("../app/controllers")。多了 一个"."。这里使用的是相对路径。你可以用路径全名指定其他目录。比如$front->setControllerDirectory("E: /server/app/controllers")。

这部分是包含在index。php中的。在正确的配置下,任何请求都会由rewrite功能重定向到这$front即前端控制器Zend_Controller_Front实例。所有认证什么的处理都要在dispatch前处理。

2.Zend_View 常用代码为:$view=new Zend_View();Zend_Registry::set("view".$view);默认采用了Zend_Framework推荐的目录结构. 即views和 controllers models同级都在application目录下。views下面有三个同级目录scrīpts helpers filters。这样当你定义了一个Controller,你就得在scrīpts下面新建一个目录,用来存放该Controller下属的模板。比如简 单的

Class IndexController extends Zend_Controller_Action
{
 function IndexAction()
 {
 
 }
}

你就要相应的在里面建立一个index目录,在index目录下建立一个index.phtml的模板。如果在IndexController下另 建了一个function addAction(),你就得再在index在新建一个add.phtml。你有另一个UserController,你就要相应的有个user目录在 scrīpts下。这些*.phtml文件类似于html文件,定义你输出的内容显示方式。简单的就是留着空白也可以。但就是不能没有,否则会提示说 "error“invalid Controller...这是因为默认的ErrorController是已经注册的。当前端控制器找不到相应的控制器分发的时候就会调用默认的 ErrorController。

我们有时候不想使用默认的目录结构也不想使用默认的phtml类型的视图模板。这时我们可以使用$view->setParam ("noViewRanderer",true);来取消默认的phtml类型目录设置。用$view->setParam ("noErrorHandler",true);来写在默认的ErrorController。使用$view->setscrīptPath ("./app/views");来设置你的模板所在位置。这在使用smarty模板时很有用。

可以这么写:$view=new Zend_View_Smarty();
$view->setParam("noViewRanderer",true);
$view->setParam("noErrorHandler",true);
$view->setscrīptPath("./app/views");
Zend_Registry::set("view".$view);

在使用的时候可以这么获取:$view=Zend_Registry::get("view");

3. 刚接触的时候对于model可以简单的理解为数据对象,对于操作数据库的一般可以直接继承Zend_Db_Table这个类封装的很不错,一般使用足够了:class data extends Zend_Db_Table
{
 protected $_name="data";
} 你只需指定表的名称,当然你可以不显示指定,这时zendf会默认的以你的类名去查找数据库中的表。别忘了为Zend_Db_Table指定 defaultAdapter:$config = new Zend_Config_Ini('./application/config.ini', 'general');$db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);

config.ini类似于[general]
db.adapter = PDO_MYSQL
db.config.host = localhost
db.config.username = rob
db.config.password = 123456
db.config.dbname = zftest

 

Zend Framework学习日记(1)--环境搭建篇

Zend Framework学习日记(1)--环境搭建篇(1)开发工具Zend Framework框架:http://framework.zend.com/download/latest包含2个目录b...
  • DayDreamingBoy
  • DayDreamingBoy
  • 2011年04月16日 13:34
  • 4941

Zend Framework 2 学习教程链接

Zend Framework 2 学习教程链接
  • yun__yang
  • yun__yang
  • 2017年01月01日 18:59
  • 4937

Zend Framework使用心得总结

为了应付蛋疼的作业,学了一周的Zend,既然学了,不能浪费啊,将经验总结下吧。其中可能有不正确或者完全是本人自己的想法,可能跟官方的标准做法不同,望各位指正。 首先是Zend的安装 在...
  • xizhibei
  • xizhibei
  • 2011年12月21日 15:05
  • 4182

zend framework入门(1)

zend framework入门 zend framework中午手册  : Zend_Framework_ZH.chm ZendFramework-1.11.10-manual-zh.z...
  • u010566813
  • u010566813
  • 2015年05月27日 23:25
  • 644

zendFramework分析1:框架执行流程

1、通过url重写请求都定位到入口文件,默认是index.php 2、入口文件加载系统的配置,单例生成前端控制器。老版本的框架需要在入口文件中添加部分配置和插件注册,后来由专门负责程序引导的Boot...
  • wzllai
  • wzllai
  • 2012年06月29日 16:22
  • 3081

Zend Framework 入门教程(简体中文版)

Zend Framework 入门教程(简体中文版) Getting Started With the Zend Framework Author:Rob Allen, www.akrabat...
  • socho
  • socho
  • 2014年10月02日 17:34
  • 2798

Zend Framework教程-ErrorController,Exception

通常,应用会在运行过程中遇到一些错误,Zend Framework提供了对错误的抛出和捕捉机制,这样可以对异常进行灵活的处理。 如果要在页面上显示错误消息,需要在配置文件中打开错误配置,如下: r...
  • mengxiangbaidu
  • mengxiangbaidu
  • 2012年02月06日 13:51
  • 3744

zend framework的事务回滚

摘自:zend framework 手册      默认情况下,PDO(因此 Zend_Db_Adapter 也是)是采用自动commit模式。 也就是说,所有的数据库操作执行时就做了comm...
  • A82168506
  • A82168506
  • 2011年05月20日 18:44
  • 3025

打开Zend Framework的错误提示

打开Zend Framework的错误提示 用Zend Studio 8 或者zf工具,新建一个Zend Framework工程在application->configs目录下有一个applicati...
  • DayDreamingBoy
  • DayDreamingBoy
  • 2011年04月22日 15:54
  • 3217

Zend Framework手册 中文版

http://www.php100.com/manual/ZendFramework/index.html
  • u011628250
  • u011628250
  • 2015年05月18日 14:21
  • 307
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:zend framework学习小结
举报原因:
原因补充:

(最多只允许输入30个字)