【金沙澳门官网】详细介绍php中的命名空间

作者: 网络编程  发布:2019-11-14

php命名空间的贰个最鲜明的职能是消除重名难题,PHP中不允许多少个函数或然类现身同等的名字,不然会产生三个致命的谬误。上生机勃勃章节牵线了什么是php命名空间。php官方网站已很明显的拓宽了定义并形象解决释,这里平素从php官方网址copy风姿洒脱段文字:从广义上的话,命名空间是生机勃勃种包装事物的艺术。在众多地点都能够见见这种抽象概念。比如,在操作系统中目录用来将相关文书分组,对于目录中的文件来讲,它就扮演了命名空间的角色。具体举例,文件 foo.txt 能够同期在目录/home/greg 和 /home/other 中留存,但在同叁个目录中无法存在八个 foo.txt 文件。其它,在目录 /home/greg 外访谈 foo.txt 文件时,大家一定要将引得名以致目录分隔符放在文书名以前获得/home/greg/foo.txt。那个规律应用到程序设计领域正是命名空间的概念。

php命名空间引入namespace关键字金沙澳门官网 ,不怕为了消除php面向对象编制程序进程中已应运而生的各类“麻烦”;具体麻烦如下:

  1. 客户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。

  2. 为了缓慢解决麻烦1,日常编写各类class时会使用较长的类名或为达成区别功效的class加多名称前缀(或后缀卡塔尔国。

  3. 不使用法力函数__autoload的情景下,而各类class又独占一个php文件时,为了调用差异的class,会在动用这个class的其余的php文件的启幕地方书写超多的include(或require或require_once)语句。

我们先创制命名空间,同风流倜傥脚本文件中得以创立多少个命名空间。

其代码如下所示:

<?php
//创建一个名为'Article'的命名空间
namespace Article;
//此Comment属于Article空间的元素
class Comment { }
//创建一个名为'MessageBoard'的命名空间
namespace MessageBoard;
//此Comment属于MessageBoard空间的元素
class Comment { }
?>

在不一样空间之间不得以平素调用其余成分,须要使用命名空间的语法。

其示例代码如下所示:

<?php
namespace Article;
class Comment { }
namespace MessageBoard;
class Comment { }
//调用当前空间(MessageBoard)的Comment类
$comment = new Comment();
//调用Article空间的Comment类
$article_comment = new ArticleComment();
?>

能够见见,在MessageBoard空间中调用article空间里的Comment类时,使用了生龙活虎种像文件路线的语法: 空间名元素名

而外类之外,对函数和常量的用法是同等的,下边我为八个空中创制了新的要素,并在MessageBoard空间中输出了它们的值。

其代码如下:

<?php
namespace Article;
const PATH = '/article';
function getCommentTotal() {
 return 100;
}
class Comment { }
namespace MessageBoard;
const PATH = '/message_board';
function getCommentTotal() {
 return 300;
}
class Comment { }
//调用当前空间的常量、函数和类
echo PATH; //message_board
echo getCommentTotal(); //300
$comment = new Comment();
//调用Article空间的常量、函数和类
echo ArticlePATH; //article
echo ArticlegetCommentTotal(); //100
$article_comment = new ArticleComment();
?>

就收获如下的结果:/message_board300/article100

【相关学科推荐】

1. 《php.cn独孤九贱(4卡塔尔国-php录像教程》

2.  录像教程:取名空间:大家就算同名同种性别,但却属于分化期空

  1.  php编制程序从入门到通晓全套教程

本文由金沙澳门官网发布于网络编程,转载请注明出处:【金沙澳门官网】详细介绍php中的命名空间

关键词: 金沙澳门官网