Blogger Information
Blog 16
fans 0
comment 0
visits 13533
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
匿名函数,命名空间,类与对象的关系--0929
琥珀的博客
Original
778 people have browsed it

一、自写案例演示匿名函数的三个应用场景

实例

<?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()();
?>

运行实例 »

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

1.jpg

二. 演示多个命名空间的场景

命名函数的意义:不同的php文件下面有相同的变量,命名空间可以把变量放进空间内,并且在其他空间内也是可以使用相同的变量。

inc文件夹function.php和demo2.php同样有f函数,要知道调用哪个,需要加上命名空间。

实例

<?php
namespace _0929;

function f($a, $b)
{
    return $a * $b;
}

运行实例 »

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

实例

<?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);

运行实例 »

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

image.png

三、 实例演示类与对象的关系与使用方式

类和对象的关系: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.即使语法允许,不要在一个文件中声明多个命名空间。

Correction status:qualified

Teacher's comments:作业很认真, 代码写得也规范
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post