PHP-命名空间-笔记
程序员文章站
2024-02-19 15:36:10
...
命名空间
命名空间可以理解为windows下的文件夹,在同一文件夹下的文件时不能同名的,但是在不同的文件夹下时可以出现同名夫人文件
错误代码:
<?php
//同一命名空间下出现相同命名的类,这是错误的
class Cat
{
}
class Cat
{
}
?>
使用命名空间
关键字:namespace
注意:第一个命名空间前面不能有任何代码
源代码:
<?php
namespace A;//创建了命名空间A
class Cat
{
function miao()
{
echo "喵~";
}
}
namespace B;//创建了命名空间B
class Cat
{
function miao()
{
echo "嗷~";
}
}
$p = new Cat();//在B的命名空间下实例化的对象是B空间下的对象
$p->miao();
//要想实例化A空间的对象可以向下面写
$g = new \A\Cat();//注意第一个'/'是根空间,默认所有的命名空间都在根空间下
$g->miao();
namespace B\C;//创建了一个子空间
?>
use和as的使用
请注释:
/*
$p = new Cat();//在B的命名空间下实例化的对象是B空间下的对象
$p->miao();
//要想实例化A空间的对象可以向下面写
$g = new \A\Cat();//注意第一个'/'是根空间,默认所有的命名空间都在根空间下
$g->miao();
namespace B\C;//创建了一个子空间
*/
源代码:
<?php
include '文件名';
use \A\Cat;//使用A空间的Cat
$p = new Cat();
$p->miao();
use \B\Cat as CatB;//使用A空间的Cat,这里Cat重名,使用取别名的方法解决
$g = new CatB();//实例化B空间的Cat
$g->miao();
//不使用use和as的写法
/*
$g = new \B\Cat();
$g->miao();
*/
?>