博主信息
博文 14
粉丝 1
评论 0
访问量 14490
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
2019.09.29作业 匿名函数、命名空间、类和对象
Léon的博客
原创
1185人浏览过

作业1:自写案例演示匿名函数的三个应用场景

    场景1:作为一个值

实例

<?php
// 1、匿名函数作为值使用
// 注意:匿名函数当值定义时是一条语句,需要在结尾加‘;’
$cal = function ($a, $b) {
    // 做取模运算
    return $a % $b;
};

// 调用时需要在变量后加(),()内是匿名函数的参数
echo $cal(100, 30);

运行实例 »

点击 "运行实例" 按钮查看在线实例

    场景2:做为回调参数来使用

    回调函数:回调函数是指调用函数的时候将另一个函数作为参数传递到调用的函数中,而不是传递一个普通的变量作为参数

使用回调函数是为了可以将一段自己定义的功能传到函数内部使用

实例

<?php
// 2、匿名函数当回调函数使用
// 匿名函数当回调函数使用时,匿名函数当做原函数的一个参数
$arr = [2, 8, 5, 7, 3, 4, 1];
usort($arr, function ($a, $b) {
    return $a - $b;
});
echo '<pre>' . print_r($arr, true);
echo '<br>';
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

场景3:获取父作用域的变量

实例

<?php
// 3、获取父作用域的变量
$str = 'niminghanshu';
$s = function () use ($str) {
    echo $str;
};
echo $s();
echo '<br>';
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

场景4:

实例

<?php
// 4、作为闭包函数
// 获取父函数中元素的匿名子函数就是闭包
function sum($c, $d)
{
    return function () use ($c, $d) {
        return $c + $d;
    };
}
echo sum(10, 20)();
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

作业2:深刻理解全名空间的意义,并实例演示多个命名空间的场景

一、命名空间的作用

    在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题:

    1、用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。

    2、为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。应用其他命名空间时可以使用as为类其别名。例如:use My\Full\Classname as Another;

二、定义命名空间:

   命名空间必须在脚本的第一行定义。格式:namespace 命名空间名

三、在同一个文件中定义多个命名空间 

    使用大括号形式的语法

实例

<?php
namespace a {
    Class C
    {
    }
}
namespace b {
    Class C
    {
    }
}
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

四、使用命名空间

        命名空间地址\命名空间名\函数名 

        其中最前面加入\代表根目录,当前空间可以用namespace表示。例如 namespace\num();

实例

<?php
namespace a{
    function num($a,$b){
        return  $a+$b;
    }
}
namespace b{
    function num($a,$b){
        return  $a-$b;
    }
echo namespace\num(30,10);
echo '<br>';
echo \a\num(30,10);
}
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

作业3:实例演示类与对象的关系与使用方式

    类是对象的模板,对象是类的实例。

实例

<?php

namespace test;
//声明一个类,类名为Test
class Test
{
    // 声明一个public属性$name,$name类内类外均可使用。
public $name = '小红';
public $age = '12';
public $sex = '女';
    //声明一个public函数myTest(),次函数类内类外均可调用
public function myTest()
{
echo '我的类';
}
}
// 创建一个Test类的对象$test
$test = new Test();
// 调用$test中的public属性(成员变量)
echo  '我的名字是:' . $test->name . ',我今年' . $test->age . '岁了' . ',我是' . $test->sex . '生.';
// 调用myTest函数
$test->myTest();

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:

1、PHP中匿名函数又称为闭包函数,允许临时创建一个没有指定名称的函数。最经常用作回调函数参数的值,也可以作为变量的值来使用。还可以从父作用域中继承变量。

2、命名空间最重要的作用是解决函数、常量、类、接口重名的问题。

3、类是对象的模板,对象是类的实例。

批改状态:合格

老师批语:完成的不错。
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学