[PHP] 新的里程碑 Hush Framework

来源:互联网 发布:免费域名和域名的区别 编辑:程序博客网 时间:2024/05/09 06:46

[PHP] 新的里程碑 Hush Framework

 

不知不觉,5月过了大半了,想保持每个月至少给 Blog 添加一些新鲜的文章,也随便给自己的 career 轨迹做一个记录,于是提笔,呵呵~ 今天要介绍一下石头最新的作品 Hush Framework,这个框架是我这两个月的心血之作,本人还是比较满意的,以下会给大家介绍一些这个东东的亮点。这个作品的本意是为公司日后的应用开发提供一个便利的开发模板,做着做着很自然的想还是做成一些完整的框架比较有意思,于是 Hush Framework (以下简称HF) 应运而生。

 

废话不多说,赶快来看看 HF 主要的亮点吧(见以下截图带五星的行):

 

 

这个就是前台的测试界面 (另外还有后台界面),可以看到上面很清楚的点出 HF 的几个主要优点,下面具体介绍一下:

 

1、关于 MVC:

实际上 HF 基本上复制了 ZF 的 MVC 结构,Module 使用的是基于 Zend_Db 的 Hush_Db 类,Hush_Db 类使用的是 Zend_Db 基本的 Adaptor,然后在上面添加了一些优化的方法,比如多行插入等,然后把 Hush_Debug 类嵌入其中,让用户可以很轻易的使用 Debug 控制台观测应用的所有 SQL。而在 View 方面,HF 使用的是 Smarty 模板,这个理由就不多说了吧,然后优化了 ZF 的 URL Router 流程机制,添加了包含模糊匹配功能的 mapping 文件,速度绝对快 (可以看到上图中的 Hush App Dispatch Time 就是他的执行时间了,微秒级别的哦)。最后在 Controller 方面,HF 使用的 Hush_Page 类,里面和 ZF 中的 Controller 基本没什么区别 Action 映射也是遵循 {ActionName}Action 规则,要说不同就是添加了单独页面的可继承机制,简单说就是如果你不想使用 URL Router 机制,你也可以方便的通过集成 Hush_Page 类来使用其提供的简便方法。

 

2、关于 RBAC :

众所周知,权限控制是一个基于用户的应用系统的最核心部分,HF 的 ACL 模块 Hush_Acl 已经实现了基于 Zend_Acl 的权限管理策略,而且极易扩展,因为 HF 的后台里面已经实现了菜单权限以及更细化的权限管理,开发者只需要通过一些简单的界面操作就可以扩展 HF 的 ACL 权限控制到你的具体应用中,这个部分以后石头会另具体介绍,总之使用 HF 的 ACL 就和吃饭一样简单,哈哈哈~

 

3、关于 BPM:

这绝对是令人兴奋的一大亮点,HF 使用类似于 JBPM 的架构实现了可编程(自带类似 PHP 的语言 PBEL)的企业流程管理框架。目前后台的实例已经支持自定义模型,流程图,流程控制等功能,目前这方面的功能还在不断增强中。关于这部分信息,也可见 Hush Framework 的另一个子项目 PBPM (http://code.google.com/p/pbpm/ )

 

4、关于 DEBUG:

开发过程中,免不了要调试和观测系统的运行状态,于是就出现了 Hush_Debug 模块,此模块可以说是 HF 的最大创新之一,可以从上图看到黄色背景的部分就是 HF 的 Debug Console 了,用户可以通过 URL 中的 debug 参数 (例如 ?debug=time,sql) 决定需要显示的 Debug 信息,红色的信息是系统自带的,目前支持页面时间调试和 SQL 调试,当然用户可以使用 Hush_Debug 中提供的方法操作自己的 Debug 信息。目前 Hush_Debug 优先级包含 DEBUG、INFO、WARN、ERROR、FATAL 五个级别的 Debug 信息,可以通过 setDebugLevel 方法来设置应用可显示的 Debug 级别,另外用户还可以通过扩充 Hush_Debug_Writer 抽象类来实现自己的 Debug Log 记录接口,是不是很好很强大呢~

 

5、关于 Full Stack:

Hush Framework 应用包括:框架类库和应用程序两个部分,而应用程序又包含:前台程序、后台程序两个部分,所以可以看到 HF 的配制文件 (位于 etc/ 目录下) 分为三个大块:global.xxx.php(ini)、frontend.xxx.php(ini) 和 backendxxx.php(ini) ,分别是全局、前台和后台的配制文件。安装的时候开发者把程序解压配制好配制文件中的 Http Server 、 Database 以及 Cache 地址就可以运行 HF 应用程序了,后台默认超级用户/密码:sa/sa,另外还可以通过 bin/ 目录下的 build.sh(bat) 来建立 HF 必须的一些 runtime 目录并赋权,使用相当方便,关于其他的一些命令行工具比如创建模块工具等,日后再慢慢完善把,毕竟对于电子商务公司来说业务是第一位的啊~

 

简单介绍了一下 Hush Framework 的一些亮点,当然这个框架目前还像初生婴儿般,不完善的地方还很多,石头考虑日后可能会把这个项目放到 Google Code 上,借助大家的力量一起来完善这个系统,目标是做成像 AppFuse 式的,PHP 的企业应用框架,呵呵~ 有兴趣的朋友可以与我联系哦:Gtalk:shagoo#gmail.com,Msn:huangjuanshi#hotmail.com (把 # 换成 @)

原创粉丝点击