PHP容器中Pimple运行流程是怎样的?
- 内容介绍
- 相关推荐
本文共计1904个文字,预计阅读时间需要8分钟。
需要掌握的知识点:封装、闭包和匿名函数在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()方法。
通常会把PHP闭包当作函数的回调使用。
本文共计1904个文字,预计阅读时间需要8分钟。
需要掌握的知识点:封装、闭包和匿名函数在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()方法。
通常会把PHP闭包当作函数的回调使用。

