当前位置: 移动技术网 > IT编程>开发语言>PHP > Zend Framework入门知识点小结

Zend Framework入门知识点小结

2017年12月12日  | 移动技术网IT编程  | 我要评论

本文总结分析了zend framework入门知识点。分享给大家供大家参考,具体如下:

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相关内容感兴趣的读者可查看本站专题:《zend framework框架入门教程》、《php优秀开发框架总结》、《yii框架入门及常用技巧总结》、《thinkphp入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于zend framework框架的php程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网