命名空间原理与用法实例小结_php技巧_脚本之家

本文实例讲述了php 命名空间原理与用法。分享给大家供大家参考,具体如下:

本文实例讲述了PHP命名空间namespace定义及导入use用法。分享给大家供大家参考,具体如下:

命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀,也可以采用命名空间的方式解决

亚洲必赢娱乐第一平台,在PHP中,出现同名函数或是同名类是不被允许的。为防止编程人员在项目中定义的类名或函数名出现重复冲突,在PHP5.3中引入了命名空间这一概念。

TestSpace.php

1.命名空间,即将代码划分成不同空间,不同空间的类名相互独立,互不冲突。一个php文件中可以存在多个命名空间,第一个命名空间前不能有任何代码。内容空间声明后的代码便属于这个命名空间,例如:

模式一 直接实例该类require;$ms1 = new DemoTestTest1 . "
n";echo DemoTestTest1::test();
2.调用不同空间内类或方法需写明命名空间。例如:'; }}function Person(){ return 'You must stay here!';};namespace Student;class Person{ function __construct(){ echo 'I want to play!
'; }}new Personnew TeacherPerson(); //Teacher空间new StudentPerson(); //Student空间echo TeacherPerson(); //Teacher空间下Person函数

I want to play!Please study!I want to play!You must stay here!

模式二 use 载入该类

3.在命名空间内引入其他文件不会属于本命名空间,而属于公共空间或是文件中本身定义的命名空间。例:

require;use DemoTestTest1; //导入命名空间DemoTest下的Tese1类$ms2 = new Test1 . "
n";echo Test1::test();

首先定义一个1.php和2.php文件:

模式三 use载入命名空间

'; }}

'; }}

4.下面我们来看use的使用方法:namespace SchoolParents;class Man{ function __construct(){ echo 'Listen to teachers!
'; }}namespace SchoolTeacher;class Person{ function __construct(){ echo 'Please study!
'; }}namespace SchoolStudent;class Person{ function __construct(){ echo 'I want to play!
'; }}new Person(); //输出I want to play!new SchoolTeacherPerson(); //输出Please study!new TeacherPerson(); //报错----------use SchoolTeacher;new TeacherPerson(); //输出Please study!----------use SchoolTeacher as Tc;new TcPerson(); //输出Please study!----------use SchoolTeacherPerson;new Person(); //报错----------use SchoolParentMan;new Man(); //报错
use DemoTest; //载入命名空间DemoTest 这一层级$ms3 = new TestTest1 . "
n";echo TestTest1::test();

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组操作技巧大全》、《php字符串用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

模式四

希望本文所述对大家PHP程序设计有所帮助。

发表评论

电子邮件地址不会被公开。 必填项已用*标注