Tôi đang cố gắng sử dụng không gian tên. Tôi muốn mở rộng một lớp bên trong một không gian tên khác. Tên của lớp là như nhau. Ví dụ:Mở rộng một lớp học với một không gian tên khác với cùng một ClassName
phụ huynh:
namespace Base;
class Section extends Skeleton {
protected $id;
protected $title;
protected $stylesheet;
}
Child:
namespace Base2;
use \Base\Section;
class Section
extends \Base\Section {
}
Nó là một ứng dụng mà sử dụng Học thuyết 2 và Zend Framework. Lớp Skeleton được sử dụng bởi Base/Section chỉ là một lớp trừu tượng chứa các phương thức ma thuật (__get, _set, v.v.).
Khi tôi cố gắng thuyết minh một lớp Mục \ Base2 \ nó ném một lỗi:
Fatal error: Cannot declare class Base2\Section because the name is
already in use in /var/www/test/application/Models/Base2/Section.php
on line 7
Bất kỳ ý tưởng không?
Bạn có hơi bối rối khi có sơ đồ đặt tên như vậy không? –
Có, nhưng nó không phải là sơ đồ đặt tên thật. Chỉ phần Phần là có thật. Các không gian tên chỉ là ngẫu nhiên. –
@Rene: Bạn có chắc chắn rằng chúng không thay vì _arbitrary_? –