博客专栏  >  编程语言   >  手撸php框架系列

手撸php框架系列

从最基础开始,一步步创建一个php框架项目的系列文章。实现的思路完全仿照Yii2.0的思想,仅供学习交流

关注
1 已关注
16篇博文
  • 手撸php框架0.0--简介

    自工作伊始,我的开发工作都是使用的Yii2.0框架。眼见工作快两年了,回头一看,自己竟然从php工程师混成了“Yii2.0框架师”,php基础知识基本忘的差不多。去年下半年,我和我们项目组的一个大牛,...

    2018-01-21 20:58
    51
  • 手撸php框架1.0--将项目提交到packgist

    各位看官,作为程序员,分享自己的代码供其它同行使用,评价和完善,想必是一件很幸福的事。所以嘞,咱们要把项目提交到packgist,这样其他人就可以通过composer安装我们的框架了,是不是很酷? ...

    2018-01-21 20:59
    61
  • 手撸php框架2.0--目录划分

    在一个项目中,目录的划分相当重要,往往目录层级预示着开发思路。好在我们的项目不复杂,一切仿照yii2.0的目录结构即可。 下面是我们的目录结构示意图: 根目录下有framework,tests...

    2018-01-21 21:00
    45
  • 手撸php框架2.1--使用测试框架phpunit

    测试驱动开发,虽然我接触这个开发方式不久,但我还是想应用到我们的项目中来。好了,不多说,开干。 我们使用的测试框架是:phpunit

    2018-01-21 21:03
    53
  • 手撸php框架3.1--构建BaseTank类

    BaseTank类作为我们框架的核心类,会提供组织框架的一系列功能。 其中包括: 1.提供文件路径定义别名的功能 2.提供类自动加载的功能 3.提供创建框架基础对象的功能(使用DI容器提供的功能)

    2018-01-21 21:08
    58
  • 手撸php框架3.2--构建Tank类

    作为在实际中使用的核心类,没有什么可说的,它直接继承BaseTank类,如果需要添加什么特性 完全可以在这里写。但是我们并没有什么新奇的想法,所以嘞,直接继承了事!

    2018-01-22 16:30
    55
  • 手撸php框架4.1--构建BaseObject之简介

    作为框架中几乎所有类都要继承的基础中的基础类,它的设计是非常重要的(这是我自己认为的)。首先我们要考虑两方面的事情,首先作为框架的基础类,它必须能够提供足够有代表性的特性;其次,作为所有类都继承的基类...

    2018-01-24 10:24
    53
  • 手撸php框架4.2--构建BaseObject之setter,getter实现

    一般来说,类具有属性和方法,我们把属性对应于类的成员变量,其中成员变量是相对于类内部而言的,对于使用这个类的人来说,我们看到的是类的属性。所以嘞,我们就可以通过setter和getter的方式,把一个...

    2018-01-25 09:45
    38
  • 手撸php框架5.0--构建Component之简介

    1.事件的概念 2.行为的概念

    2018-01-26 09:18
    66
  • 手撸php框架5.1--构建Component之对象级别事件实现

    1.首先我们需要一个事件类BaseEvent,我们在实现对象级别事件用到它的地方是:在触发时把这个类的实例作为事件处理器的参数传递进去,在同一个事件中的多个事件处理器间,是共享这个实例的。

    2018-01-29 10:38
    57
  • 手撸php框架5.2--构建Component之类级别事件实现

    首先,类级别的事件是在BaseEvent类中实现的,它的实现方式和对象级别的方式类似,不过换成了静态的属性和方法,数据结构多了className一层,在触发事件时,要考虑到父类或接口中绑定的事件2.数...

    2018-01-31 10:07
    49
  • 手撸php框架5.3--构建Component之行为的实现

    1.首先,我们需要一个行为的基类。行为的绑定是相互的,component要持有行为对象,同样行为对象也要持有component的对象,来标识行为依附的对象。所以,component有绑定的动作,行为也...

    2018-02-01 09:34
    54
  • 手撸php框架6.0--构建DI容器之简介

    依赖注入的核心功能就是将所依赖单元的实例化,放到类的外面进行。

    2018-02-02 09:34
    220
  • 手撸php框架6.1--构建DI容器之实现

    1)首先利用php的反射类ReflectionClass,构造类A的反射对象。 2)然后利用反射对象的getConstructor方

    2018-02-03 19:00
    92
  • 手撸php框架7.0--构建服务定位器之简介

    在web开发中,服务定位器模式是一种非常贴合的模式。服务定位器模式目的是为了服务提供者和服务使用者的解耦。在我们的框架中,可以把Component类看做是所有服务的基类。我们把web应用作为一个服务定...

    2018-02-05 09:05
    38
  • 手撸php框架7.1--构建服务定位器之实现

    对于服务定位器的实现,我们直接上代码: 1.注册服务,注册服务仅仅将定义数组存入defineMap中,不实例化对象。 public function registerService($serv...

    2018-02-06 09:40
    19
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部