spl_autoload_register sirve que para not nombre namespace mismo found con clases php namespaces

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.