PHP程序员小白到大牛集训(12期免息)

导入外部命名空间

原创2018-11-03 13:56:20147
摘要:非限定名称:适用于当前空间成员,类似于当前路径限定名称:与当前空间关联的空间,类似于相对路径完全限定名称:导入外部空间,类似于绝对路径导入空间使用关键字:use如果与当前命名冲突,可以通过设置替换规则或别名解决;注意:导入空间名称并不会自动加载类文件,需要手工加载或自定义加载机制;<?php  namespace School\Parents; // 

非限定名称:适用于当前空间成员,类似于当前路径

限定名称:与当前空间关联的空间,类似于相对路径

完全限定名称:导入外部空间,类似于绝对路径

导入空间使用关键字:use

如果与当前命名冲突,可以通过设置替换规则或别名解决;

注意:导入空间名称并不会自动加载类文件,需要手工加载或自定义加载机制;

<?php 
namespace School\Parents; // Parents.php
class Person
{
	function __construct()
	{
		echo '叫爸爸!<br/>'; 
	}
}

// Teacher.php
namespace School\Teacher;
class Person
{
	function __construct()
	{
		echo '叫老师<br/>';
	}
}

// Student.php,用来使用上边两个文件的类
namespace School\Student;
require('Parents.php');
require('Teacher.php');
// use 命名空间\这个空间下你要实例化类的类名。
// 比方说我们要实例化 Parents.php里的Person类,那么 use a\b\c\Person;  
// 这就相当于引入这个类,接下来再  new Person();调用里边的方法,跟平常是一样的。
// !!!注意:use不等于require_once或者include,use的前提是已经把文件包含进当前文件
use School\Teacher\Person as TeaPerson;
new TeaPerson();

// !!!此外:命名空间前面除了declare(encoding='UTF-8'); 声明文件编码外,其余任何代码都不能加,会报错

?>


批改老师:韦小宝批改时间:2018-11-03 14:04:07
老师总结:嗯!不错写的很棒!值得鼓励!!继续努力吧!我们会关注你的!加油!

发布手记

热门词条