是第一次在项目中使用命名空间。我有 3 节课:
Contacto.class.php
/**
* Gestiona las operaciones ABM de la informacion de contacto de un usuario
* cualquiera.
* La clase no realiza validaciones, eso será labor del controlador.
* @package AdminManantiales
* @subpackage Abm
* @author Ramiro Martínez D'Elía
*/
namespace AdminManantiales\Classes\Abm\Contacto;
class Contacto { // Implement ... }
Usuario.class.php
/**
* Gestiona las operaciones ABM del tipo de usuario más abstracto.
* La clase no realiza validaciones, eso será labor del controlador.
* @package AdminManantiales
* @subpackage Abm
* @author Ramiro Martínez D'Elía
*/
namespace AdminManantiales\Classes\Abm\Usuario;
abstract class Usuario { // Implement ... }
Alumno.class.php
/**
* Gestiona las operaciones ABM del tipo de usuario alumno.
* La clase no realiza validaciones, eso será labor del controlador.
* @package AdminManantiales
* @subpackage Abm
* @author Ramiro Martínez D'Elía
*/
namespace AdminManantiales\Classes\Abm\Alumno;
class Alumno extends \AdminManantiales\Classes\Abm\Usuario{ // Implement ... }
类的路径是ROOT/classes/Abm
。因此,当包括要工作的类时:
include($_SERVER['DOCUMENT_ROOT']."/classes/Abm/Contacto.class.php");
include($_SERVER['DOCUMENT_ROOT']."/classes/Abm/Usuario.class.php");
include($_SERVER['DOCUMENT_ROOT']."/classes/Abm/Alumno.class.php");
失败并显示下一条消息:Class 'AdminManantiales\Classes\Abm\Usuario' not found in <b>/media/Datos/www/AdminManantiales/classes/Abm/Alumno.class.php</b> on line <b>12</b>
有任何想法吗 ?。