注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿飘的博客

十里平湖霜满天 寸寸青丝愁华年

 
 
 

日志

 
 

初次接触Zend Framework需要掌握的内容  

2009-04-10 10:43:10|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1 各模块工作原理
1.1Zend_Models工作原理
       通过继承Zend_Db_Table(abstract类)管理一个Model类。

1.2Zend_Controller工作原理
       Zend_Controller_Front接收一个请求,然后由 Zend_Controller_Router来决定分配给哪个controller(实现Zend_Controller_Action的类)。 Zend_Controller_Router把URI分解封装成一个Zend_Controller_Dispatcher_Token 对象。Zend_Controller_Front接着进入一个分配循环,调用Zend_Controller_Dispatcher,把token对象传给dispatcher来分配到具体的controller和action进行处理。在controller结束后,又把控制权交加给 Zend_Controller_Front。如果controller发现需要分配另一个controller(返回一个新的token对象),循环会一直继续直到另一次分配执行完毕。

       Zend_Controller_Action提供控制器的基本方法,其他控制器都应该是Zend_Controller_Action的子类。

       说明:
       Zend_Controller_Dispatcher对象在Zend_Controller_Front和实现Router、Dispacther接口的类之间传递。它把Controller、Action和其他Get参数封装到一起。
       处理Controller名称:getControllerName()、setControllerName();
       处理Action名称:getActionName()、setActionName();
       传递给Action参数:getParams()、setParams()。参数是数组key/value形式。

1.3Zend_Views工作原理

2 ZFW基本配置
Index.php:

//设置路径
set_include_path();

//包含Zend/Loader.php类
include 'Zend/Loader.php';

//通过类的静态方法加载其他类
Zend_Loader::loadClass('Zend_Controller_Front');
Zend_Loader::loadClass('Zend_Config_Ini');
Zend_Loader::loadClass('Zend_Registry');
Zend_Loader::loadClass('Zend_Db');
Zend_Loader::loadClass('Zend_Db_Table');
Zend_Loader::loadClass('Zend_Debug');
Zend_Loader::loadClass('Zend_Auth');

//加载配置
new Zend_Config_Ini
Zend_Registry::getInstance()

//设置前端控制器
Zend_Controller_Front::getInstance()
setControllerDirectory()
dispatch()

在index.php不用 ’?>’ 结束,便于错误调试?

类名需要写成模块名_文件名

3 MVC处理规则
       所有的请求都通过单一的index.php作为启动文件,或者说对任何url, 重定向到index.php。对于iamges、css、javascript的请求,不应该重定向到启动文件,把这些文件放到其他目录,如:public。默认controller和action都是index。

       Model的命名:默认类名跟表名保持一致,关键字默认id。可以指定表名和主键名,private $_name=’’和private $_primary=’’。

       Controller的命名:类名和文件名一致,{Controllername}Controller.php,每个单词都以大写字母开头;

       Action的命名:每个Action是Controller里的public函数,名字必须是{actionname}Action,actionname要小写。每个页面叫做‘action’,许多‘action’组成控制器。

       Views的命名:存放到对应Controller下并以action.phtml命名。
  评论这张
 
阅读(522)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017