php中ch0906实例,0906作业:命名空间及使用

本文详细介绍了PHP中的命名空间(namespace)的创建与访问,包括如何在不同命名空间间互相调用类和函数。同时,讲解了`use`关键字的作用,即导入其他脚本中的类、常量和函数,并通过别名(as)简化访问路径。通过实例代码展示了非限定名称、限定名称和完全限定名称的使用场景和区别。
摘要由CSDN通过智能技术生成

作业1:用大括号语法实现在一个脚本中创建多个命名空间并访问成员

实例

/**

命名空间:解决了类,函数,常量的重名问题,而别名解决了书写路径过长的问题,提高代码效率和可读性。

*/

namespace A {

const NLB ='二狗';

class Animal

{

private $name = '哈士奇';

public function sing()

{

return $this->name . '在唱歌';

}

}

//访问B的成员

\B\Web::getAdd('www.php.cn');

echo'


';

}

namespace B {

const SITE_NAME = 'PHP中文网';

class Web {

public $name;

public static function getAdd($add){

echo 'PHP中文网的地址是:'.$add;

}

}

//访问C的成员

echo \C\add(80,100);

echo'


';

}

namespace C {

function add($a,$b){

return $a+$b;

}

}

namespace {

//访问A的成员

echo \A\NLB.'
';

echo (new \A\Animal())->sing();

echo'


';

//访问B空间的成员

\B\Web::getAdd('www.php.cn');

echo'


';

//访问C下面的成员

echo \C\add(80,100);

}

运行实例 »

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

作业2:使用use 导入其它脚本中的类/常量/函数,并使用别名方式访问

代码1:被包含的命名空间

实例

/**

* Created by PhpStorm.

* User: Core

* Date: 2018/9/7

* Time: 18:09

*/

//创建一个用于引入的空间

namespace One\Two\Three{

class Sum{

public function add($a,$b,$c){

return $a+=$b+$c;

}

}

}

运行实例 »

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

代码2:被包含的命名空间

实例

/**

*/

namespace Test{

class Sum{

public function add($a,$b){

return $a+=$b;

}

}

}

运行实例 »

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

代码3:use的使用和as别名

实例

/**

用于测试引入类和类别名

*/

namespace User;

include "test.php";

include "one.php";

use \One\Two\Three\Sum;

use \Test\Sum as Addsum;

//使用one脚本下的add 方法 这样路径太长输入麻烦

//echo (new \One\Two\Three\Sum())->add(10,20,30);

//使用use 关键字,缩短路径

echo (new Sum())->add(10,30,100);

//因为test中也有个类sum,重名了,使用use建立一个别名

echo (new Addsum())->add(100,300);

运行实例 »

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

作业3:非限定名称,限定名称和完全限定名称的命名空间之间的区别与联系是什么?

/*

*非限定名称,限定名称和完全限定名称的命名空间之间的区别与联系是什么?

*

* 非限定名称只能用于访问 自己/当前 空间的常量,函数,类。

* 限定名称用于访问当前类的子类,下一级目录,类似:相对路径概念

* 完全限定名称:就是从根空间\开始,逐级访问空间名称,类似绝对路径;

*

*

*

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值