ZF2小TIP:使用事件驱动为模块快速设置模板
2014-05-24 18:26
323 查看
在ZF1中,对一部分页面设置一个不同的Layout可能需要在每一个Controller中单独设置。在ZF2中,事件驱动的支持让Layout的设置变得非常灵活。
比如要对Admin模块单独设置一个admin模板,只需要短短5行代码
上例中,对MVC的Dispath分发事件绑定了一个闭包,闭包中切换controller的Layout为Admin。同样的道理,可以通过事件驱动很简单的实现View根目录切换等原本非常繁琐的工作。只是这一切需要对ZF2的MVC启动流程有所了解。
比如要对Admin模块单独设置一个admin模板,只需要短短5行代码
<?php namespace Admin; use Zend\ModuleManager\ModuleManager; class Module { public function init(ModuleManager $moduleManager) { $sharedEvents = $moduleManager->getEventManager()->getSharedManager(); $sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) { $controller = $e->getTarget(); $controller->layout('layout/admin'); }, 100); } }
上例中,对MVC的Dispath分发事件绑定了一个闭包,闭包中切换controller的Layout为Admin。同样的道理,可以通过事件驱动很简单的实现View根目录切换等原本非常繁琐的工作。只是这一切需要对ZF2的MVC启动流程有所了解。
相关文章推荐
- ZF2小TIP:使用事件驱动为模块快速设置模板
- 使用signal模块为异步事件设置handlers
- 事件驱动自动生成静态页面模板解决方法(一)——利用静态类和FileSystemWatcher实现模板快速索引和读取
- slider控件设置value时使用 slider1_ValueChanged 事件注意事项
- Linux设备驱动3快速参考汇总--建立和运行模块
- Eclipse中设置方法注释模板并使用方法注释
- 使用模板快速启动你的设计
- Tip:在使用AjaxControlTookit的控件时响应事件
- JQuery FlexiGrid的asp.net完美解决方案-dotNetFlexGrid使用指南(二)服务端查询、快速查询和Html模板
- GridView模板列控件的事件设置
- Eclipse中设置方法注释模板并使用方法注释
- 关于事件驱动学习三 使用select的socket callback模型
- 基于事件驱动、使用NIO的Netty2库
- [Office小技巧]使用Office 2010策略模板批量设置用户配置
- 在VM2008R2中使用模板快速创建虚拟机之二实践篇 推荐
- windows驱动开发技术详解 VC6与DDK搭配使用的设置
- Tip:在使用AjaxControlTookit的控件时响应事件
- javascript的高级使用,设置页面元素是否相应事件与显示“正在处理”对话框
- 在GridView模板列中添加按钮和事件 使用CommandArgument存取