1、匿名函数
匿名函数:允许在声明函数时,不用书写函数名的函数。即是允许指定一个没有名称的函数。把匿名函数赋值给变量,通过变量来调用。
范例:
使用场景1:匿名函数对赋值给变量,通过变量来调用
实例
<?php $a='***是中国的11'; $f1=function()use($a){ return $a; }; echo $f1(); echo '<hr>'; $f1=function($a){ return $a; }; echo $f1('你好中国'); echo '<hr>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
场景2:通过在函数内调用匿名函数 实现简单的闭包
实例
<?php function seek() { $f2=function (){ echo "世界还是那个世界,但中国不是那个中国了"; }; return $f2(); } seek();
运行实例 »
点击 "运行实例" 按钮查看在线实例
场景3:通过关键词use($a)调用父域下参数$a
实例
function seek1() { $a="世界还是那个世界,但中国不是那个中国了2"; $f2=function ()use($a){ echo $a; }; return $f2(); } seek1();
运行实例 »
点击 "运行实例" 按钮查看在线实例
场景4:给匿名函数传参时,
处理:需要将普通函数赋值变量中,变量带参数,进而将变量传入匿名函数中
(备注:普通函数中没有参数声明,匿名函数中带参数声明)
实例
function seek2() { $a="阿中"; $f2=function ($b,$c)use($a){ echo $a.'您好,'.$b.','.$c."一起守护它"; }; return $f2; } $f3=seek2(); echo '匿名函数传参:<br>'; $f3('你','我');
运行实例 »
点击 "运行实例" 按钮查看在线实例
2、命名空间:
样式:在php文件开头处命名(脚本的第一行代码
)。关键词:namespace
命名空间的意义:主要避免同名函数导致的报错,其次在于定位引用对应文件内的方法(保证唯一性)
访问时:
引用本方法内函数:namespace\方法名();
引用本文件下其他文件内方法:\引入文件内定义空间名\方法名();
实例
<?php namespace hello; include __DIR__ . '/inc/function.php'; function sum($a, $b) { return $a + $b; } // \: 全局空间 即是namespace文件下全局下空间 echo namespace\sum(20, 30); echo '<hr>'; // 访问 include __DIR__ . '/inc/function.php'中文件另外一个空间中的函数 echo \_929\sum(25, 6);
运行实例 »
点击 "运行实例" 按钮查看在线实例
3. 实例演示类与对象的关系与使用方式
实例
<?php class Demo { public $product = '手机'; public $price = 2800; } //实例化类 $obj = new Demo(); //对类中成员属性进行操作 $obj->product='手机22'; $obj->product='手机22'; $obj->price='22'; // 2. 访问类中成员,用对象访问 $obj->product echo '商品名称: ' . $obj->product, '<br>'; echo '商品价格: ' . $obj->price;
运行实例 »
点击 "运行实例" 按钮查看在线实例
4、总结命名空间的应用对象, 适用场景以及注意事项
1、命名空间需要放置在文件开头 第一行代码
2、命名空间的意义避免引入文件存在相同函数名导致报错,同是方便引用特定文件的方法。