php - 不能将 X 用作 Y,因为该名称已被使用,即使它不是

标签 php

我使用的是 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/

相关文章:

php - 检查两个 MySQL 表中是否存在值

PHP代码没有被执行,但是代码显示在浏览器源代码中

php - 生成带有扭曲的数字字母组合的算法

php - 在 wamp(本地)或服务器中设置 ffmpeg

php - 使用 Laravel Migration 使列自动递增

php - 将 MYSQLI 查询结果写入 php 中的文本文件

命名空间的 PHP use 语句

php - mySQL INSERT 到多个表使用 PHP 语句

php - sql查询如何计算出一天中收入最高的人

php - 匿名递归 PHP 函数