Сложно мне, потому что за пример взял статью с хабра
habrahabr.ru/post/150267 - в которой не используется автозагрузка, а в других статьях автозагрузка используется при другой структуре файлов. Разбираюсь и с тем и с другим, очень сложно.
<?php
class Autoloader
{
public static $loader;
public static function init()
{
if (self::$loader == NULL)
self::$loader = new self();
return self::$loader;
}
public function __construct()
{
spl_autoload_register(array($this, 'autoload'));
}
public function autoload($className)
{
//echo $className."\n";
$path = str_replace('\\', DS, $className);
require_once(PATH_APP.DS.$path.'.class');
}
}
Там такая структура проекта



Я решил попробовать namespace в классах, но боюсь запутаться
<?
namespace core;
class View
{
<?
namespace contr;
class contr_index extends \core\Controller
{
function __construct()
{
$this->model = new \model\model_index();
$this->view = new \view\view_index();
}
function action_index()
{
$data = $this->model->get_data();
$this->view->generate('view_index.php', 'template_view.php', $data);
}
}
<?
namespace model;
class model_index extends \core\Model
{
public function get_data()
Я всё правильно делаю?