标签:php

全栈

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

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

shanhuhai 2年前 (2017-08-22) 2107℃ 4喜欢

全栈

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

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

shanhuhai 2年前 (2017-08-21) 1087℃ 4喜欢

全栈

通过Composer安装PHPunit并配置Phpstrom

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

shanhuhai 2年前 (2017-08-18) 4440℃ 1喜欢

全栈

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

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

shanhuhai 2年前 (2017-08-10) 1566℃ 1喜欢

全栈

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

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

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

全栈

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

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

shanhuhai 2年前 (2017-08-08) 3654℃ 2喜欢

全栈

理解 PHP 引用

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

shanhuhai 2年前 (2017-08-07) 1590℃ 2喜欢

全栈

php依赖注入简介

简介 依赖注入 Dependency Injection 简称 DI,目的是让代码耦合度降低,模块化程度高,让代码更易测试 什么是依赖 为什么会有依赖?因为我们为了模块化,把各种小功能都做成了一个模块,模块之间相互调用,这样就产生了依赖。 没有用依赖注入的情况 class Cod...

shanhuhai 4年前 (2015-05-26) 3464℃ 2喜欢