自己动手写PHP框架(三)
作者:Terry Gao
1. 控制器
第一篇我们聊到路由分发会把用户请求按照规则分发到控制器层的不同类,而默认的规则中,请求会下发到控制器的index类的main方法,我们可以在这个方法中处理用户请求,并将处理结果呈现给用户。来看看源码
Life is short, Coding More!
作者:Terry Gao
第一篇我们聊到路由分发会把用户请求按照规则分发到控制器层的不同类,而默认的规则中,请求会下发到控制器的index类的main方法,我们可以在这个方法中处理用户请求,并将处理结果呈现给用户。来看看源码
作者:Terry Gao
上一篇提到了类的自动加载和Session,今天就来逐一说说。
在使用PHP的OO模式开发系统时,通常大家习惯将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利,这也是OO设计的基本思想之一。如果需要使用一个类,只需要直接使用include/require将其包含进来即可。但随着项目规模的不断扩大,使用这种方式会带来一些隐含的问题:如果一个PHP文件需要使用很多其它类,那么就需要很多的require/include语句,这样有可能会造成遗漏或者包含进不必要的类文件。如果大量的文件都需要使用其它的类,那么要保证每个文件都包含正确的类文件肯定是一个噩梦。
PHP5为这个问题提供了一个解决方案,这就是类的自动装载(autoload)机制。
作者:Terry Gao
作为PHP Coder的入门进阶,自己动手写一个MVC框架可以从各方面巩固和加深你对PHP的理解,还能了解一些架构方面的基础知识。
MVC(Model-View-Controller,模型-视图-控制器)是PHP最常见的一种开发模式。它将程序划分为三层。
在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例子:
相对于用RPM包安装软件,yum能更方便快捷,还能自动安装所需依赖包。因此,我们需要根据自己的主机类型找到对应的yum源进行更新。考虑到和谐,推荐使用国内的开源镜像源,例如 网易、华科、搜狐 等。这里以163镜像为例:
##### 先备份原有的yum源文件
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup;
##### 切换到yum源文件根目录
# cd /etc/yum.repos.d/
##### 根据步骤1中内核版本获取网易相应的CentOS的Base repo
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
##### 重命名为CentOS-Base.repo
# mv CentOS6-Base-163.repo CentOS-Base.repo
##### 建立缓存
# yum makecache
##### 更新yum资源库(第一次可能会持续较长时间)
# yum update
$params = array(':username' => 'test', ':email' => $mail, ':last_login' => time() - 3600);
$pdo->prepare('
SELECT * FROM users
WHERE username = :username
AND email = :email
AND last_login > :last_login');
$pdo->execute($params);