Tôi đang sử dụng PHP 5.4 và có cấu trúc lớp PSR-0 tương tự như sau.Không thể sử dụng X làm Y vì tên đã được sử dụng, mặc dù nó không phải là
A \ Library \ Session.php:
namespace A\Library;
class Session { ... }
My \ Application \ Session.php:
namespace My\Application;
class Session { ... }
My \ Application \ Facebook.php:
namespace My\Application;
use A\Library\Session;
class Facebook { ... }
Khi tôi cố gắng để chạy các ứng dụng, tôi nhận được lỗi sau:
Cannot use A\Library\Session as Session because the name is already in use in My\Application\Facebook.php
Mặc dù nó không phải là, ít nhất là không trong tập tin này. Tệp Facebook.php chỉ khai báo lớp Facebook
và nhập chính xác một lớp Session
, một lớp A\Library
.
Vấn đề duy nhất tôi có thể thấy là lớp Session
khác tồn tại trong cùng một không gian tên như lớp Facebook
, nhưng vì nó chưa bao giờ được nhập trong tệp Facebook.php, tôi nghĩ nó không quan trọng chút nào.
Tôi có sai không (trong trường hợp đó, vui lòng trỏ đến tài liệu liên quan), hoặc đây có phải là lỗi không?
Có thể cần thêm mã vì tôi không thấy sự cố hiện tại – exussum
Trong trường hợp của tôi, tôi đã nhầm lẫn trong không gian tên ... –