完整项目地址:https://github.com/Evai/Aier 上一篇中我们已经建立了一个空的 Composer 项目,本篇将讲述如何构建路由。 下面我们就开始自己来构建路由,先去 GitHub 搜一下:点此查看搜索结果 推荐 https://github.com ...
作为一个框架,我们还没有相应的缓存组件,下面我们就来构建我们的缓存组件。 先来定义一下接口,在 src 文件夹下创建 cache 文件夹,在cache文件夹下创建 CacheInterface.php 文件,其中定义 Cache 相应的接口,其内容如下: 定义了 buildKey get mget set mset exists add madd delete flush接口,对应功能如下: bu ...
2016-04-24 21:06 2 1257 推荐指数:
完整项目地址:https://github.com/Evai/Aier 上一篇中我们已经建立了一个空的 Composer 项目,本篇将讲述如何构建路由。 下面我们就开始自己来构建路由,先去 GitHub 搜一下:点此查看搜索结果 推荐 https://github.com ...
首先,我们来说一下,为什么要创建自己的框架? 为什么要创建自己的框架呢?如果你跟周围的人讨论,每个人都会告诉你重复发明轮子是一件糟糕的事情,你最好选择一个已有的框架,忘掉“创建自己的框架”这种想法。大部分情况,他们是正确的,但是我想到了几个创建自己的框架的好处: 了解更多框架的底层架构 ...
上一篇博客中,我们搭建了一个最简单的框架,从单一入口的public/index.php进入,解析出相应的Controller和Action,去执行,渲染出相应的页面或者输出相应的数据。 但是我们可以看到在public/index.php文件中,是一堆代码,如果之后,我要添加权限/事件等等的机制 ...
完整项目地址:https://github.com/Evai/Aier Twig 模板引擎 模版引擎 twig 的模板就是普通的文本文件,也不需要特别的扩展名,.html .htm . ...
上一篇博客中,我们将简单的路由解析和执行,从入口文件public/index.php中移入到框架中。入口文件顿时变得清爽无比~~ 但是,去我们的controller里看一下,会看到如下的code: 难道我们每写一个要去渲染页面的action,都要去找相应路径的view ...
选择 nrk/predis 作为 Redis 驱动,修改composer.json增加一个 require 项: "predis/predis": "*" 运行composer update完成安装,新建config/redis.php <phpreturn array('host ...
在之前的博客中,我们定义了ORM的接口,以及决定了使用PDO去实现。最后我们提到会有一个Model类实现ModelInterface接口。 现在我们来实现这个接口,如下: 当然现在里面还没有写 ...
在上一篇博客中,我们抽象出了Controller的基类,实现了页面的渲染和返回JSON字符串的功能。 那作为一个框架,我们现在还缺少什么?是的,大家应该已经注意到了,我们在这之前从来没有连接过数据库,我们缺少一个ORM(Object Relational Mapping)。 在php中连接 ...