标签:php

推荐文章

PHP设计模式之——观察者模式

今天来介绍一个很有用的设计模式,“观察者模式”,顾名思义,既然有“观察者”, 那么一定就有“被观察者”,从这个层面可以理解到,在这个设计模式中有两个对象, 一个是主体对象,一个是客体对象,在实际的代码实现上实际是“被观察者”主动通知了“观察者”。“被观察者”是主体对象,现在看不懂...

shanhuhai 3年前 (2017-08-26) 2999℃ 7喜欢

全栈

学习php反射(2)——不用new方法实例化类

上一篇简单介绍了 php 反射的几个常见类的使用方法,但是用反射能做些什么,你可能还是想象不到, 下面我稍微应用反射类来做点东西,大家知道实例化一个类需要用new 关键字,不用 new 可以吗?答案是可以的,用反射就能实现: 首先创建一个文件 student.php: <?...

shanhuhai 3年前 (2017-08-22) 3970℃ 4喜欢

全栈

学习PHP反射(1)—— 入门

今天开始学习php 的反射,许多人可能还没有听说过反射这个概念,简单点说反射的就是让你拥有剖析类、函数的能力。 有的同学可能会问我剖析类有什么用,我为什么要学反射,我只能说不学反射并不会对你实现业务有任何影响,但是如果你想写出结构优雅的程序,想写出维护性和扩展性都很高的程序,学习...

shanhuhai 3年前 (2017-08-21) 2117℃ 4喜欢

全栈

通过Composer安装PHPunit并配置Phpstrom

相信单元测试对于大多数PHP程序员来说还都处于听说过的阶段,似乎PHP就是为了开发速度快而生的,做了单元测试岂不是会拖慢开发速度?这个说法好像也是有道理的,但是还是要针对项目特点,有些对稳定性,健壮性要求的项目,做单元测试可以大幅减少bug的产生率,提高后期维护性,所以想做一个优...

shanhuhai 3年前 (2017-08-18) 9782℃ 2喜欢

全栈

PHP 实现自己的模板引擎(三)——加入fetch方法

上一篇,我们给出了一个简单的模板引擎的例子,通过 extract 函数将变量注入到当前作用域,通过 include 将模板文件引入,从而将变量注入到了模板,但是这种方法的问题是,我们无法拿到内容,内容直接输出到了浏览器端,这篇我们看看如何拿到模板解析后的内容。 缓存区控制函数 在...

shanhuhai 3年前 (2017-08-10) 5128℃ 1喜欢

全栈

PHP 实现自己的模板引擎(二)——一个简单的例子

上一篇,我们讲了模板引擎的作用,以及做了一些准备工作,好了,现在来开始实现一个简单的模板引擎。 首先看一个简单的demo,我通过三个文件实现了一个简单的模板引擎的例子 目录结构如下: view.php是主要的模板引擎类, demo.php 是入口文件, tpl 目录是模板目录 ...

shanhuhai 3年前 (2017-08-09) 12079℃ 2喜欢

全栈

PHP 实现自己的模板引擎(一)——准备工作

大家都知道 MVC 模式, 在大部分的 PHP 框架中都实现了这个模式。 我们在做网站的时候,一个必不可少的工作就是套模板了,套模板就是一个跟 V(view)层相关的工作,所谓套模板就是将静态的html页面中需要后端动态生成的数据用特定的模板语法来替换。今天教大家实现一个自己的模...

shanhuhai 3年前 (2017-08-08) 6060℃ 3喜欢

全栈

理解 PHP 引用

PHP 手册里的引用部分看得人一头雾水,所以按自己的理解写了一篇,并且写了一些有意思的示例代码,分享出来。 PHP 引用的解释 我们都知道 php 有引用这个功能,引用不同于指针,他相当于变量名的一个别名,可以想象成一个 linux 的文件名做一个软连接。 看下面代码 $dama...

shanhuhai 3年前 (2017-08-07) 2978℃ 3喜欢