PHP编程之活用魔术方法

Java有注解和反射,Ruby有代码生成代码的元编程,Scala有Monad函子,而PHP有魔术方法。这些都是非常强大的武器,有人喜欢它的强大,但也有人讨厌它的复杂以及伴随而来的难以理解、万丈深渊。例如Ruby中的猴子补丁,非线性顺序的执行经常会让人摸不着头脑 … 阅读更多

PHP编程之数组类

前面介绍的关于数组的排序、集合的三大操作,都是使用函数的,是面向过程的。接下来,了解一下面向对象编程相关的知识。数组类是什么意思呢?不难理解,数组类就是具体数组特性的类。 对于一个数组,可以获取和修改某个键的值,也可以进行删除、判断键是否存在。如果一个类想实现 … 阅读更多

PHP编程之函数式编程与数组

php

在函数式编程的世界里,针对集合的操作有三大类,分别是:映射、过滤和归约。 虽然PHP是一门解释性脚本语言,并且支持面向过程编程和面向对象编程,与函数式编程还是有很大区别的,但是PHP也为映射、过滤和归约提供了对应的函数。它们分别是: 映射:array_map( … 阅读更多

华为交换机VRP命令级别与用户级别

为了增加设备命令行使用的安全性, 在VRP系统中把所有命令分成了许多个不同的级别, 使具有不同权限的用户可以使用不同级别的命令。 不同级别的用户登录后, 只能使用等于或低于自己级别所能使用的命令。 1.用户级别与命令级别 缺省情况下, VRP系统命令级别按0~ … 阅读更多

TDD的模式、原则与三角验证(使用PHP代码示例)

我们继续讨论TDD的一些理论知识,然后下一节我们就开始进入到单元测试的实践部分。理论知识是最佳实践充分不必要的条件,即便没有理论知识,也能进行最佳实践;但掌握了理论知识将能帮助你做到事半功倍。所以,这一节,不要轻易跳过哦,并且它的内容也很有意思。 构造-操作- … 阅读更多

单元测试之三种不同的模式

意图导向编程

已经有人提出来,使用单元测试有三种不同方式。一种是传统的方式,先编写代码,再编写单元测试,这种称之单元测试后行;一种是反过来,先编写测试,再编写代码,称之为单元测试先行,即测试驱动开发,英文缩写为TDD;最后一种是在设计整个架构、框架、核心模块时,提前将可测试 … 阅读更多

PHP编程之从CLI运行模式与HTTP协议的差异

php

用户在浏览网站时,他对网站的请求,经过Nginx流转后进入PHP-FPM执行。在这个过程中,在客户端与服务端之间通讯的协议是HTTP协议,关于这一点,已经是众所周知的了。与网站开发的很多知识和技术,例如COOKIE、会话、HTTP请求和响应的头部信息、HTML … 阅读更多