Всем привет! Помогите разобраться с автоматическим подключением классов на таком примере. Вопросы написал в коде в комментариях.
Есть три файла:
/index.phpspl_autoload_register(
function($class_name){
$class_name = str_replace('\\', '/', $class_name);
require_once $_SERVER['DOCUMENT_ROOT'].'/'.$class_name.'.php';
}
);
// я импортировал пространство имен, но класс ClassChild не будет искаться в нем
use modules\voting;
$ClassChild = new ClassChild;
// чтобы импортированное пространство имен работало, мне нужно сделать так:
// почему?
use modules\voting as vot;
$ClassChild = new vot\ClassChild;
/modules/voting/ClassChild.php// класс ClassChild и ClassParent находятся в одном пространстве имен
// но при наследовании класса ClassParent, он так же не подключается
// почему? как его подключить в этой ситуации?
namespace modules\voting;
class ClassChild extends ClassParent{
public function __construct(){
echo __CLASS__.'!<br>';
}
}
/modules/voting/ClassParent.phpnamespace modules\voting;
class ClassParent{
public function __construct(){
echo __CLASS__.'!<br>';
}
}