批改状态:合格
老师批语:如果在关键字后面用空间, 一般是默认从全局开始, 可以省略\
<?php
/*
* 9月29日作业
1. 自写案例演示匿名函数的三个应用场景
2. 深刻理解全名空间的意义,并实例演示多个命名空间的场景
3. 实例演示类与对象的关系与使用方式
4. 总结命名空间的应用对象, 适用场景以及注意事项
*/
header('Content-Type:text/html;charset=utf-8');
echo "<p style='color: red'>1、作为回调函数使用(排序函数内部使用)</p>";
$arr = [4,1,22,55,13];
usort($arr,function($a,$b){
return $a<$b; //注:大于号 正序 小于号 倒序
});
echo '<pre>';
print_r($arr);
echo "<br><p style='color: red'>2、为变量赋值,使变量变成函数</p>";
$func = function(){
return '匿名函数赋值变量';
};
echo($func()) ;
echo "<br><p style='color: red'>3、能够继承父级作用域的变量</p>";
$msg = 'world';
$example = function($param) use ($msg){
echo $param . ' ' .$msg;
};
$param = 'hello';
$example($param);点击 "运行实例" 按钮查看在线实例
2. 深刻理解全名空间的意义,并实例演示多个命名空间的场景
<?php
namespace A;
class test{
function demo(){
echo __CLASS__;
}
}
$A = (new test)->demo();
echo '<br>';
namespace B;
class test{
function demo(){
echo __CLASS__;
}
}
$A = (new test)->demo();
echo '<br>';
namespace C;
class test{
function demo(){
echo __CLASS__;
}
}
$A = (new test)->demo();点击 "运行实例" 按钮查看在线实例
3. 实例演示类与对象的关系与使用方式
<?php
class test{
function get(){
}
}
$demo = new test();
echo $demo instanceof test ? "对象通过类产生,由 new+类 生成对象;内部非静态方法通过 -> 来调用" : '其它类';点击 "运行实例" 按钮查看在线实例
4. 总结命名空间的应用对象, 适用场景以及注意事项
总结:
1、匿名函数创建时调用,用完即销毁,节省内存
2、匿名函数可以实现同步转异步
3、匿名函数可以防止函数名重复
4、命名空间可以防止类及方法等重名报错
5、当多个人开发多个模块时,避免不了类、方法等重名问题,需要引入命名空间,使用命名空间需要注意:
(1)前面不能有任何语句(除注释);
(2)用namespace 进行命名,引用必须是绝对命名空间 \A\B 错误 A 前面不能有斜杠
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号