Pimple PHP容器运行流程包含哪些关键环节和步骤?
- 内容介绍
- 相关推荐
本文共计1922个文字,预计阅读时间需要8分钟。
需要了解的知识点:封装、匿名函数在PHP5.3.0中的引入。
封装是指:创建时封装环境状态,函数执行时环境不存在,但封装的状态依然存在。
匿名函数(Closure)在PHP5.3.0中引入,允许创建没有名称的函数。
需要具备的知识点
闭包
闭包和匿名函数在PHP5.3.0中引入的。
闭包是指:
创建时封装周围状态的函数。即使闭包所处的环境不存在了,闭包中封装的状态依然存在。
理论上,闭包和匿名函数是不同的概念。但是PHP将其视作相同概念。
实际上,闭包和匿名函数是伪装成函数的对象。他们是Closure类的实例。
闭包和字符串、整数一样,是一等值类型。
创建闭包:
<?php $closure = function ($name) { return 'Hello ' . $name; }; echo $closure('nesfo');//Hello nesfo var_dump(method_exists($closure, '__invoke'));//true
我们之所以能调用$closure变量,是因为这个变量的值是一个闭包,而且闭包对象实现了__invoke()魔术方法。只要变量名后有(),PHP就会查找并调用__invoke()方法。
本文共计1922个文字,预计阅读时间需要8分钟。
需要了解的知识点:封装、匿名函数在PHP5.3.0中的引入。
封装是指:创建时封装环境状态,函数执行时环境不存在,但封装的状态依然存在。
匿名函数(Closure)在PHP5.3.0中引入,允许创建没有名称的函数。
需要具备的知识点
闭包
闭包和匿名函数在PHP5.3.0中引入的。
闭包是指:
创建时封装周围状态的函数。即使闭包所处的环境不存在了,闭包中封装的状态依然存在。
理论上,闭包和匿名函数是不同的概念。但是PHP将其视作相同概念。
实际上,闭包和匿名函数是伪装成函数的对象。他们是Closure类的实例。
闭包和字符串、整数一样,是一等值类型。
创建闭包:
<?php $closure = function ($name) { return 'Hello ' . $name; }; echo $closure('nesfo');//Hello nesfo var_dump(method_exists($closure, '__invoke'));//true
我们之所以能调用$closure变量,是因为这个变量的值是一个闭包,而且闭包对象实现了__invoke()魔术方法。只要变量名后有(),PHP就会查找并调用__invoke()方法。

