先看代码:
<?php
if (PHP_SAPI != 'cli') {
exit('Please run it in terminal!');
}
if ($argc < 3) {
exit('At least 2 arguments neede...
shanhuhai
2年前 (2017-08-23) 1059℃
3喜欢
上一篇简单介绍了 php 反射的几个常见类的使用方法,但是用反射能做些什么,你可能还是想象不到,
下面我稍微应用反射类来做点东西,大家知道实例化一个类需要用new 关键字,不用 new 可以吗?答案是可以的,用反射就能实现:
首先创建一个文件 student.php:
<?...
shanhuhai
2年前 (2017-08-22) 1888℃
3喜欢
今天开始学习php 的反射,许多人可能还没有听说过反射这个概念,简单点说反射的就是让你拥有剖析类、函数的能力。
有的同学可能会问我剖析类有什么用,我为什么要学反射,我只能说不学反射并不会对你实现业务有任何影响,但是如果你想写出结构优雅的程序,想写出维护性和扩展性都很高的程序,学习...
shanhuhai
2年前 (2017-08-21) 970℃
4喜欢
相信单元测试对于大多数PHP程序员来说还都处于听说过的阶段,似乎PHP就是为了开发速度快而生的,做了单元测试岂不是会拖慢开发速度?这个说法好像也是有道理的,但是还是要针对项目特点,有些对稳定性,健壮性要求的项目,做单元测试可以大幅减少bug的产生率,提高后期维护性,所以想做一个优...
shanhuhai
2年前 (2017-08-18) 3783℃
1喜欢
现在你应该知道如何做一个模板引擎类了,只不过使用原生的 php 做模板语法。
看下面代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
...
shanhuhai
2年前 (2017-08-11) 1378℃
2喜欢
上一篇,我们给出了一个简单的模板引擎的例子,通过 extract 函数将变量注入到当前作用域,通过 include 将模板文件引入,从而将变量注入到了模板,但是这种方法的问题是,我们无法拿到内容,内容直接输出到了浏览器端,这篇我们看看如何拿到模板解析后的内容。
缓存区控制函数
在...
shanhuhai
2年前 (2017-08-10) 1352℃
1喜欢
上一篇,我们讲了模板引擎的作用,以及做了一些准备工作,好了,现在来开始实现一个简单的模板引擎。
首先看一个简单的demo,我通过三个文件实现了一个简单的模板引擎的例子
目录结构如下:
view.php是主要的模板引擎类,
demo.php 是入口文件,
tpl 目录是模板目录
...
shanhuhai
2年前 (2017-08-09) 9459℃
2喜欢
大家都知道 MVC 模式, 在大部分的 PHP 框架中都实现了这个模式。
我们在做网站的时候,一个必不可少的工作就是套模板了,套模板就是一个跟 V(view)层相关的工作,所谓套模板就是将静态的html页面中需要后端动态生成的数据用特定的模板语法来替换。今天教大家实现一个自己的模...
shanhuhai
2年前 (2017-08-08) 3430℃
2喜欢
PHP 手册里的引用部分看得人一头雾水,所以按自己的理解写了一篇,并且写了一些有意思的示例代码,分享出来。
PHP 引用的解释
我们都知道 php 有引用这个功能,引用不同于指针,他相当于变量名的一个别名,可以想象成一个 linux 的文件名做一个软连接。
看下面代码
$dama...
shanhuhai
2年前 (2017-08-07) 1465℃
2喜欢
简介
依赖注入 Dependency Injection 简称 DI,目的是让代码耦合度降低,模块化程度高,让代码更易测试
什么是依赖
为什么会有依赖?因为我们为了模块化,把各种小功能都做成了一个模块,模块之间相互调用,这样就产生了依赖。
没有用依赖注入的情况
class Cod...
shanhuhai
4年前 (2015-05-26) 3328℃
2喜欢