Estoy tratando de usar espacios de nombres. Quiero extender una clase dentro de un espacio de nombres diferente. El nombre de la clase es el mismo. Ejemplo:Ampliando una clase con otro espacio de nombres con el mismo nombre de clase
Padres:
namespace Base;
class Section extends Skeleton {
protected $id;
protected $title;
protected $stylesheet;
}
niño:
namespace Base2;
use \Base\Section;
class Section
extends \Base\Section {
}
Es una aplicación que utiliza Doctrina 2 y Zend Framework. La clase Skeleton utilizada por Base/Section es solo una clase abstracta que contiene los métodos mágicos (__get, _set, etc.).
Cuando intento crear una instancia de una clase Sección \ Base2 \ arroja un error:
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
Cualquier idea?
¿No es un poco confuso tener ese esquema de nombres? –
Sí, lo es, pero no es el verdadero esquema de nombres. Solo la parte de la Sección es real. Los espacios de nombres son solo aleatorios. –
@Rene: ¿Estás seguro de que no son en realidad _arbitrary_? –