[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、关于 ACL:
众所周知,权限控制是一个基于用户的应用系统的最核心部分,HF 的 ACL 模块 Hush_Acl 已经实现了基于 Zend_Acl 的权限管理策略,而且极易扩展,因为 HF 的后台里面已经实现了菜单权限以及更细化的权限管理,开发者只需要通过一些简单的界面操作就可以扩展 HF 的 ACL 权限控制到你的具体应用中,这个部分以后石头会另具体介绍,总之使用 HF 的 ACL 就和吃饭一样简单,哈哈哈~
3、关于 DEBUG:
开发过程中,免不了要调试和观测系统的运行状态,于是就出现了 Hush_Debug 模块,此模块可以说是 HF 的最大创新之一,可以从上图看到黄色背景的部分就是 HF 的 Debug Console 了,用户可以通过 URL 中的 debug 参数 (例如 ?debug=time,sql) 决定需要显示的 Debug 信息
相关文档:
a:
为什么要使用缓存技术?理由很简单:提高效率。在程序开发中,获取信息的方式主要是查询数据库,除此以外,也可能是通过Web Services或者别的某种方法,无论哪种方法,在大量的并发访问面前,它们都可能成为效率的瓶颈,为了解决这些问题,人们提出了很多解决方案,其中一 些是利用优化软件(如:APC,Eaccelerator, ......
经测试 没有问题
<?
class smtp
{
/* Public Variables */
var $smtp_port;
var $time_out;
var $host_name;
var $log_file;
var $relay_host;
var $debug;
var $auth;
var $user;
var $pass;
/* Private Variables */
var $sock;
/* Constractor */
function smtp($relay_host = " ......
1、mysql_connect()-建立数据库连接
格式:
resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]])
例:
$conn = @mysql_connect(”localhost”, “username”, “password”) or dir(”不能连接到Mysql Server” ......
来源: 发布时间:2009-09-18 发布人: 浏览:30人次 字体:[大 中 小]
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到
当然也可以修改自动全局变量为开(ph ......
之前PHP实现多语言国际化,大部分都会采用把语言直接提出来作为数组来调用,例如比较有名phpMyadmin,discuz等知名开源系统,不过,这里介绍如何通过gettext,即用资源文件来实现。典型的CMS案例-wordpress也是通过它实现的语言国际化,下面来说下php中如何来利用配置文件实现国际化的。
首先介绍下.MO文件,在PHP中是利用 ......