摘要: 在PHP中实现一个所谓的MVC框架非常简单。这里说一下思路。一、首先用spl_autoload_register函数实现自己的类型自动加载机制。这样其他代码都不需要再考虑如何将类所在的文件include进来。二、从url中提取出controller和action的名称,组织起来用反射实例化控制器类,并调用控制器的execute方法。控制器的execute方法同样也会用反射查找action方法并调用,将action返回的response对象写入到输出流中。如果controller或action不存在时则返回404状态。三、要实现视图,首先要定义一个view类,它将另外一个php视图文件inclu 阅读全文
posted @ 2014-04-01 22:13 绅士熊吉 阅读(721) 评论(0) 推荐(1) 编辑
摘要: PHP的class与其他语言有很多不同点。PHP允许很奇葩的在静态方法中调用实例方法,提供了关键字self和static用于访问类自身的静态成员。self永远是指当前的类,而static则可能会变成指向派生类,这也是比较奇葩的地方,静态成员是可以继承和覆盖的。PHP还提供了一些以双下划线开头的魔术方法(包括构造方法和一些内置的“接口”),下面即是PHP现有的魔法方法:1、__construct($args) 和 __destruct(void)即构造方法和析构方法,与其他语言相同,在实例化时调用构造方法,在回收对象时调用析构方法。析构方法可用于在执行结束后自动回收资源,像关闭一些以指针引用的资 阅读全文
posted @ 2014-04-01 21:49 绅士熊吉 阅读(442) 评论(0) 推荐(0) 编辑