Sto tentando di utilizzare gli spazi dei nomi. Voglio estendere una classe all'interno di un diverso spazio dei nomi. Il nome della classe è lo stesso. Esempio:Estensione di una classe con un altro spazio dei nomi con lo stesso ClassName
Parent:
namespace Base;
class Section extends Skeleton {
protected $id;
protected $title;
protected $stylesheet;
}
bambino:
namespace Base2;
use \Base\Section;
class Section
extends \Base\Section {
}
Si tratta di un'applicazione che utilizza Doctrine 2 e Zend Framework. La classe Skeleton usata da Base/Section è solo una classe astratta che contiene i metodi magici (__get, _set, ecc.).
Quando cerco di istanziare una classe Sezione \ Base2 \ getta un errore:
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
Qualsiasi idea di?
Non è un po 'di confusione avere uno schema di denominazione simile? –
Sì, lo è, ma non è il vero schema di denominazione. Solo la parte Sezione è reale. Gli spazi dei nomi sono solo casuali. –
@Rene: Sei sicuro che non siano invece _arbitrary_? –