首页 >后端开发 >php教程 >php面向对象之命名空间

php面向对象之命名空间

不言
不言原创
2018-06-06 10:15:351366浏览

这篇文章主要介绍了关于php面向对象之命名空间,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

概述

广义上来说,命名空间是一种封装实物的方法;

例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。

在PHP中,命名空间用来解决在编写类库或程序时创建可重用的代码,用于解决以下问题:

1)用户编写的的代码,与PHP内部的类/常量/第三方类/函数/
   常量之间的名字冲突;

2)为很长的标识符名称,创建一个别名,提高代码的可读性;

基本使用

通过关键namespace来声明。

1)namespace MyPro1;
     /*内容*/


2)namespace MyPro2{
    /*内容*/
};

注意:

如果一个文件中包含命名空间,必须在所有代码之前声明命名空间。

例子

<?php

namespace A;

function time()
{
    echo &#39;这是属于我的time方法&#39;;
}


namespace B;

function time()
{
    echo &#39;这是属于我的time方法2&#39;;
}

time();  // namespace B time()

\A\time();  // namespace A time()

\B\time();  // namespace B time()

echo \time();  // 系统的 time()

子命名空间

使用

namespace Father/Son;

例子

<?php
// 使用命名空间例子2

namespace A;

function time()
{
    echo &#39;这是属于我的time方法&#39;;
}


namespace B;

function time()
{
    echo &#39;这是属于我的time方法2&#39;;
}
time();  // namespace B time()

\A\time();  // namespace A time()

\B\time();  // namespace B time()

echo \time();  // 系统的 time()

相关推荐:

php面向对象之继承

php面向对象之重载

           

以上是php面向对象之命名空间的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn