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
分享到:
相关推荐
zendframework数据库总结,简单实用
详细介绍了ZendFramework环境配置,总结了配置中常常遇到的难解决问题
本文总结了zend framework重定向的方法。分享给大家供大家参考,具体如下: 一. render 不指定render 结果: {当前Module}/{当前Controller}/{当前Action}.phtml $this->render('bar'); 结果: {当前Module}/{当前...
主要介绍了Zend Framework入门知识点,总结分析了Zend Framework入门学习的知识重点,需要的朋友可以参考下
主要介绍了Zend Framework数据库操作方法,结合实例形式总结分析了Zend Framework数据库操作相关函数使用技巧与注意事项,需要的朋友可以参考下
主要介绍了Zend Framework数据库操作技巧,结合实例形式总结分析了Zend Framework针对数据库操作的常见函数、常用操作及相关注意事项,需要的朋友可以参考下
主要介绍了Zend Framework自定义Helper类相关注意事项,总结分析了编写自定义Helper类的相关原则与实现技巧,需要的朋友可以参考下
主要介绍了Zend Framework常用校验器,结合实例形式总结分析了Zend Framework的日期、数组、正则及自定义校验器,需要的朋友可以参考下
功夫不负有心人,花了将近一天时间,终于解决了Ajax 、MySQL 和 Zend Framework 的乱码问题。现在总结如下,以供参考。
同时由于强大的特性,也使其学习成本很高,所以目前大家看到的ZendFramework 2 产品相对于其他框架的产品来说并不多。作者(DBShop系统作者)知道国内使用ZF2(ZendFramework 2简称)开发项目的公司有一些,开发产品...
该库是Zend Framework 2,Doctrine的对象管理器(同样支持ORM / ODM)和ElasticSearch之间的小型集成层。 它使用Elastica作为与ElasticSearch服务器通信的适配器,并且可以处理任何映射的POPO到ElasticSearch文档...
DBShop电子商务系统,是一套使用PHP语言构建,基于ZendFramework2框架开发的在线购物网店系统。DBShop 1.2 更新日志:2018-09-21新增优惠券获取功能,可绑定商品、商品分类、品牌、全品类;新增邀请好友功能(手机端)...
1.6 小结 第2章 PHP环境搭建和开发工具 视频讲解:52分钟 2.1 在Windows下使用AppServ组合包 2.2 在Windows下使用IIS+PHP+MySQL搭建PHP环境 2.3 在Linux下的安装配置 2.4 PHP常用开发工具 2.5 第一个PHP实例 2.6 小...
DBShop电子商务网店系统,是一套使用PHP语言构建,基于ZendFramework2框架开发的在线购物网店系统。DBShop电子商务系统 1.3 更新日志:2020-02-01修正商品详情中,相关商品、组合商品的会员组价格显示;优化客户组...
1.7 小结 23 第2章 PHP的基础语法 24 2.1 语言构成与工作原理 24 2.2 常量与变量 25 2.2.1 常量的定义 25 2.2.2 变量的定义 26 2.2.3 变量的作用域 27 2.2.4 动态变量 29 2.3 运算符和关键字 29 2.4 流程控制语法 30...