一、自写案例演示匿名函数的三个应用场景
实例
<?php //匿名函数,函数表达式 $product =function($a,$b){ return $a*$b; }; //1.按值调用,值保存在$sum中 echo $product (3,6); echo '<hr/>'; //回调函数:函数当做一个参数来使用的时候,这个函数叫做回调函数。 //匿名函数作为回调参数使用 //arithmeti普通函数 function arithmetic($functionName, $m, $n) { return $functionName($m, $n); } //add作为回调函数 function add($m,$n){ return $m+$n; }; $result = arithmetic("add",4,6); echo $result; echo '<hr/>'; //3.获取父作用域的变量,当做闭包 function demo(){ $name='小雷'; //$name为父函数变量 return function()use($name){ return $name; }; } echo demo()(); ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
二. 演示多个命名空间的场景
命名函数的意义:不同的php文件下面有相同的变量,命名空间可以把变量放进空间内,并且在其他空间内也是可以使用相同的变量。
inc文件夹function.php和demo2.php同样有f函数,要知道调用哪个,需要加上命名空间。
实例
<?php namespace hello; include __DIR__.'/inc/function.php'; function f($a,$b){ return $a+$b; } // \:全局空间,namespace当前空间 echo \hello\f(30,50); echo '<br>'; echo namespace\f(30,50); //访问另外一个空间的函数 echo '<hr>'; echo \_0929\f(20,30);
运行实例 »
点击 "运行实例" 按钮查看在线实例
三、 实例演示类与对象的关系与使用方式
类和对象的关系:1、类是对象的模版,对象是类的实例;2、一个类可以创建多个对象,每个对象都是独一无二的。
使用方式:1.先用class XX{} 声明类,里面赋予对象的属性。实例化一个类,然后可以调用它的属性值。
实例
<?php namespace admin; //类的声明:class class phone { //属性 public $product='手机'; public $price=2800; } //类的实例化 $obj=new phone(); echo '商品名称:'.$obj->product,'<br>'; echo '商品价格:'.$obj->price;
运行实例 »
点击 "运行实例" 按钮查看在线实例
四、 总结命名空间的应用对象, 适用场景以及注意事项
命名空间的应用对象:命名空间可以防止类,函数,全局变量的重名。
命名空间的适用场景:当一个项目有多个文件,且那些文件有重复的函数命名时,利用命名空间可以访问另外一个文件的同名函数。
注意事项: 1.\:全局空间,注意在空间前加入"\"。2.即使语法允许,不要在一个文件中声明多个命名空间。