博主信息
博文 42
粉丝 0
评论 0
访问量 45483
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
匿名函数/命名空间/类与对象
庆选的博客
原创
953人浏览过

1、匿名函数

匿名函数:允许在声明函数时,不用书写函数名的函数。即是允许指定一个没有名称的函数。把匿名函数赋值给变量,通过变量来调用。

范例:

使用场景1:匿名函数对赋值给变量,通过变量来调用

 

实例

<?php


$a='***是中国的11';
$f1=function()use($a){
    return $a;
};
echo $f1();
echo '<hr>';

$f1=function($a){
    return $a;
};
echo $f1('你好中国');
echo '<hr>';

运行实例 »

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

1.png

场景2:通过在函数内调用匿名函数 实现简单的闭包

实例

<?php


function seek()
{
    $f2=function (){
        echo "世界还是那个世界,但中国不是那个中国了";
    };
    return $f2();

}
seek();

运行实例 »

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

1.png


场景3:通过关键词use($a)调用父域下参数$a 

实例

function seek1()
{
    $a="世界还是那个世界,但中国不是那个中国了2";
    $f2=function ()use($a){
        echo $a;
    };
    return $f2();

}
seek1();

运行实例 »

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

1.png


场景4:给匿名函数传参时,

处理:需要将普通函数赋值变量中,变量带参数,进而将变量传入匿名函数中

(备注:普通函数中没有参数声明,匿名函数中带参数声明)

实例

function seek2()
{
    $a="阿中";
    $f2=function ($b,$c)use($a){
        echo $a.'您好,'.$b.','.$c."一起守护它";
    };
    return $f2;

}
$f3=seek2();
echo '匿名函数传参:<br>';
$f3('你','我');

运行实例 »

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

1.png

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、命名空间的意义避免引入文件存在相同函数名导致报错,同是方便引用特定文件的方法。

 

批改状态:合格

老师批语:总结的到位, 就差一个实战了
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学