PHP
发布时间:2019-11-10 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP命名空间namespace定义及导入use用法详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了php命名空间namespace定义及导入use用法。分享给大家供大家参考,具体如下:
在php中,出现同名函数或是同名类是不被允许的。为项目中定义的类名或函数名出现重复冲突,在php5.3中引入了命名空间这一概念。
1.命名空间,即将代码划分成不同空间,不同空间的类名相互独立,互不冲突。
一个
php文件中可以存在多个命名空间,第一个命名空间前不能有任何代码。内容空间声明后的代码
便属于这个命名空间,例如:
php;">
php
echo 111; //由于namespace前有代码而报错
namespace Teacher;
class Person
{
function __construct()
{
echo 'Please
study!';
}
}
2.调用不同空间内类或方法需写明命名空间。
例如:
php;">
php
namespace Teacher;
class Person
{
function __construct()
{
echo 'Please
study!
';
}
}
function Person()
{
return 'You must stay here!';
};
namespace
student;
class Person
{
function __construct()
{
echo 'I want to play!
';
}
}
new Person(
); //本空间(
student空间)
new \Teacher\Person(
); //Teacher空间
new \
student\Person(
); //
student空间
echo \Teacher\Person(
); //Teacher空间下Person函数
输出:
php;">
I want to play!
Please
study!
I want to play!
You must stay here!
3.在命名空间内引入其他文件不会属于本命名空间,而属于公共空间或是文件中本身定义的命名空间。
例:
首先定义一个1.php和2.php文件:
php;">
php //1.
php
class Person
{
function __construct()
{
echo 'I am one!
';
}
}
php;">
php
namespace Newer;
require_once './1.
php';
new Person(
); //报错,找不到Person;
new \Person(
); //输出 I am tow!;
php;">
php //2.
php
namespace Two
class Person
{
function __construct()
{
echo 'I am tow!
';
}
}
php;">
php
namespace New;
require_once './2.
php';
new Person(
); //报错,(当前空间)找不到Person;
new \Person(
); //报错,(公共空间)找不到Person;
new \Two\Person(
); //输出 I am tow!;
4.下面我们来看use的使用方法:
(use以后引用可简写)
php;">
namespace School\Parents;
class Man
{
function __construct()
{
echo 'Listen to teachers!
';
}
}
namespace School\Teacher;
class Person
{
function __construct()
{
echo 'Please
study!
';
}
}
namespace School\
student;
class Person
{
function __construct()
{
echo 'I want to play!
';
}
}
new Person(
); //输出I want to play!
new \School\Teacher\Person(
); //输出Please
study!
new Teacher\Person(
); //报错
----------
use School\Teacher;
new Teacher\Person(
); //输出Please
study!
----------
use School\Teacher as T
c;
new Tc\Person(
); //输出Please
study!
----------
use \School\Teacher\Person;
new Person(
); //报错
----------
use \School\Parent\Man;
new Man(
); //报错
更多关于php相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家php程序设计有所帮助。
大佬总结
以上是大佬教程为你收集整理的PHP命名空间namespace定义及导入use用法详解全部内容,希望文章能够帮你解决PHP命名空间namespace定义及导入use用法详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。