【发布时间】:2016-07-11 06:54:12
【问题描述】:
我的代码中有这个声明:
\Page\dashboardBundle\Entity\Cars as Cars;
但是当我尝试创建 Cars 类的新对象( new \Cars() )时,我收到错误:
尝试从全局命名空间加载类“Cars”。 您是否忘记了“使用”语句?
问题的原因是什么?
【问题讨论】:
标签: php namespaces
我的代码中有这个声明:
\Page\dashboardBundle\Entity\Cars as Cars;
但是当我尝试创建 Cars 类的新对象( new \Cars() )时,我收到错误:
尝试从全局命名空间加载类“Cars”。 您是否忘记了“使用”语句?
问题的原因是什么?
【问题讨论】:
标签: php namespaces
当您执行new \Cars() 时,您正在尝试在 root 命名空间中创建类 Cars 的实例。那是因为类名前的反斜杠。
只需删除黑斜线:
new Cars();
【讨论】:
如果您使用“\”字符表示您在 PHP 中说的加载类以加载到全局核心命名空间 PHP。
您已经声明了“汽车”类。您不需要使用“\”字符。只需写new Cars,代码就可以正常运行,就可以实例化\Page\dashboardBundle\Entity\Cars
【讨论】:
前面加use了吗?
use \Page\dashboardBundle\Entity\Cars as Cars;
您是否尝试在 Cars 呼叫之前删除 "\"?
new Cars;
输入的命名空间是否与类本身定义的命名空间相匹配?
含义,是 \Page\dashboardBundle\Entity\ 中 Cars 类的位置,类本身是否包含命名空间 \Page\dashboardBundle\Entity\ ?
【讨论】: