用大括号语法实现在一个脚本中创建多个命名空间并访问成员
实例
<?php /** * 命名空间 * namespace */ namespace One { const NAME='我是One的NAME'; echo '在One中访问Two中的hello:',\Two\hello(); } namespace Two { const NAME='我是Two的NAME'; function hello(){ return '我是命名空间Two的hello函数<br>'; } echo NAME,'<hr>'; } namespace { echo \One\NAME,'<br>'; echo \Two\NAME; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
使用use 导入其它脚本中的类/常量/函数,并使用别名方式访问
实例
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/9/10 * Time: 21:35 */ namespace test1\test2\test3\test4; class Hello{ public static function test(){ return __METHOD__; } }
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
<?php /** * 使用use 导入其它脚本中的类/常量/函数,并使用别名方式访问 */ require 'test.php'; use \test1\test2\test3\test4\Hello as Test; echo Test::test(),'<hr>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
非限定名称,限定名称和完全限定名称的命名空间之间的区别与联系是什么?
非限定名称就是使用当前命名空间;
限定名称就是使用命名空间前缀相当于文件的相对路径;
完全限定名称就是使用命名空间前缀时从跟开始找相当于文件的绝对路径;