用户名:  密码:   
您当前的位置:首页 > 网页设计 >  PHP > 

PHP中的命名空间与use语句

上次修改时间: 2024-04-30 16:55:29      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\PHP相关\      下一页

PHP中的命名空间与use语句

命名空间的作用是防止出现在同名的函数或类或常量,避免名称冲突,还有就是为很长的标识符创建别名
命名空间用namespace关键字来声明,命名空间必须写到所有代码的最前面,只有用定义编码的语句可以写到它的最前面

同一个文件中可以有多个命名空间,命名空间可以用括号括起来,也可以不用括号,但建议加括号,例:
<?php
namespace MyProject {  //这里也可以不加括号,但不建议这样做
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */  }
}

namespace AnotherProject { //这里也可以不加括号,但不建议这样做
    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function connect() { /* ... */  }
}
?>

一个页面中定义有命名空间代码,也有不属于命名空间的全局代码时,两者都有用关键字namespace和{}括起来,命名空间还必须有名称,例:
<?php
declare(encoding='UTF-8'); //定义多个命名空间和不包含在命名空间中的代码
namespace MyProject {  //命名空间的代码用关键字+空间名+括号

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // 该页面不属于命令空间的全局代码用关键字+括号
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

****子命名空间
<?php
namespace MyProject\Sub\Level;  //声明分层次的单个命名空间,与目录和文件关系很像,但它并不代表路径,只用来分层次,

const CONNECT_OK = 1;   //这里创建了常量MyProject\Sub\Level\CONNECT_OK
class Connection { /* ... */ } //这里创建了类MyProject\Sub\Level\Connection
function Connect() { /* ... */ }//这里创建了函数MyProject\Sub\Level\Connecti()
?>


命名空间的使用