登陆

命名空间的问题 请哪位老鸟来帮忙分析下 ,我是小白

//namespace1.php
<?php
namespace Demo1;
class test1
{
	private $name='www.php.cn';
	public function getName()
	{
		return $this->name;
	}
}

//namespace2.php
<?php
namespace Demo2;
require('namespace1.php');
use Demo1\test1;
class test1
{
	private $name='PHP中文网';
	public function getName()
	{
		return $this->name;
	}
}

问题就是 我在访问namespace2.php时会为什么出现如下错误

Fatal error: Cannot declare class Demo2\test1 because the name is already in use in 

难道必须要 use Demo1\test1 时还要给类取个别名吗?? ‘as D1test1'????

请指导一下

# PHP
小白一直白小白一直白439 天前397 次浏览

全部回复(2)我要回复

  • 零时差

    零时差2020-07-08 23:11:28

    demo1 中 已存在 test1类了。然后你又应用了文件require('namespace1.php');和 然后又引用了demo1的类 use Demo1\test1;

    你感觉下会不报错吗? 你给他as 个别名试试?

    回复
    1
  • 小白一直白

    我疑惑的就是这个理 主要是看peter_zhu的视频 里面没有设置别名就成功了 让我纠结好几天

    小白一直白 · 2020-07-10 09:05:20
  • 取消回复发送