我使用的是 PHP 5.4,并且具有类似于以下的 PSR-0 类结构。
A\Library\Session.php:
namespace A\Library;
class Session { ... }
我的\Application\Session.php:
namespace My\Application;
class Session { ... }
我的\Application\Facebook.php:
namespace My\Application;
use A\Library\Session;
class Facebook { ... }
当我尝试运行该应用程序时,出现以下错误:
Cannot use A\Library\Session as Session because the name is already in use in My\Application\Facebook.php
即使不是,至少不在此文件中。 Facebook.php 文件只声明了 Facebook
类,并且只导入了一个 Session
类,即 A\Library
一个。
我能看到的唯一问题是另一个 Session
类存在于与 Facebook
类相同的命名空间中,但因为它从未导入到 Facebook.php 文件中,我认为这根本无关紧要。
我错了吗(在那种情况下请指出相关文档),或者这是一个错误?
最佳答案
在 PHP 中确认了一个错误,它可能会影响您看到的行为。它应该是 fatal error ,但启用 opcache 后,它仍可能完美执行。
https://bugs.php.net/bug.php?id=66773
如果您仍然担心,请为该错误投票。
关于php - 不能将 X 用作 Y,因为该名称已被使用,即使它不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17746481/