PHP 命名空间元素访问及use的使用
1. 命名空间的访问分为三种模式
非限定名称访问、限定名称访问、完全限定名称访问
非限定名称访问
var_dump();// 不加空间名前缀访问空间元素
限定名称访问
\think\var_dump();// 加空间名前缀访问空间元素
完全限定名称访问
\app\think\var_dump();//从根命名空间开始访问
<?php
namespace app\think;
function var_dump()
{
echo 'this is one data <br>';
}
var_dump();//非限定名称访问
namespace app;
think\var_dump();//限定名称访问
\app\think\var_dump();//完全限定名称访问
2. 通过 use 关键字访问空间元素
use 语法规则
使用 as
时空间元素名称则被新名称取代, 原名称不能用了, 故不能称之为起别名, 应该是起新名
use 引入空间元素是从根命名空间引入的, 也就是 完全限定名称访问
use [元素类型] [命名空间\]类名 [as 新名称];
空间元素都可以通过 use 引入, 但是对于不同类型的空间元素引入方式
use 空间名称\类名;//引入类
use function 空间名称\函数名;//引入函数
use const 空间名称\常量名;//引入常量
使用示例
use app\A; // 类
use const app\PI;//常量
use function app\var_dump;//函数
PHP7 开始支持使用 {}
一次引入多个相同命名空间下的多个空间元素 (PHP7之前需要使用多次 use)
use app\{
A,//类
const PI,//常量
function var_dump,//函数
};
3. 系统默认的空间元素访问规则
系统内置的函数、常量、类都属于全局空间
函数和类在空间内访问时系统会先在当前空间找, 找不到再去全局空间找; 而类不会去全局空间下找, 当前空间下类找不到时将抛出 Fatal error
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。