Correction status:qualified
Teacher's comments:类中的实例属性, 用实例访问, 静态/类属性用类访问
一、匿名函数的应用场景
1、匿名函数作为值来使用
点击 "运行实例" 按钮查看在线实例
2、匿名函数作为回调参数使用。
$arr = [4,6,3,8,5]; usort($arr,function($a,$b){ return $a - $b; }); echo '<pre>' . print_r($arr,true); echo '<hr>';
点击 "运行实例" 按钮查看在线实例
3、获取父作用域中的变量,即闭包
function demo(){ $telephone = '138 8888 8888'; return function () use ($telephone){ return $telephone; }; } echo demo()();
点击 "运行实例" 按钮查看在线实例
二、命名空间的意义
解决全局成员的命名冲突问题,全局成员分为: 类 、 函数、 常量。
创建一个命名空间
三、类与对象
类是对象的模板
创建类
//namespace: 创建命名空间, 必须是脚本的第一行代码 namespace one{ class test { //... } } namespace two{ class test { //... } } namespace three{ class test { //... } } //创建全局空间 namespace { class test { //... } }
点击 "运行实例" 按钮查看在线实例
类与对象的创建
namespace _0929; class Demo3 { //给变量一个“属性”名称 public $a = '平板电脑'; public $b = '1999'; } // 1. 类的实例化 $obj = new Demo3(); // 2. 用对象访问类中成员 echo '商品名称:'. $obj->a; echo '<br>'; echo '商品价格:'. $obj->b;
点击 "运行实例" 按钮查看在线实例
总结
1、匿名函数也叫闭包函数,允许临时创建一个没有指定名称的函数,经常用作回调函数参数的值。
2、命名空间解决了php全局成员的命名冲突的问题,借鉴了文件目录的基本思想。命名空间使用 "namespace" 关键字声明。
3、类与对象。定义用”class“,实例化用“new”。类中的属性需要通过实例化对象来访问。