sirve - php use function
Extendiendo una clase con otro espacio de nombres con el mismo ClassName (2)
Solo usa el nombre completo
namespace Base2;
class Section
extends /Base/Section {
}
O aliasing
namespace Base2;
use /Base/Section as BSection;
class Section
extends BSection {
}
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:
Padre:
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 Doctrine 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 / Base2 / Section, se produce 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
¿Algunas ideas?
cuando tu dices
use /Base/Section
está colocando la clase Section en su alcance actual, lo que provoca un conflicto cuando desea crear una nueva clase llamada Section. simplemente omita la declaración de uso.