MVC Помогите исправить ошибку

sharomet

Новичок
Всем привет. Я пишу свою MVC по вот этой информации http://habrahabr.ru/post/150267/

Но у меня ошибка возникает в файле route.php при создании контроллера

class Route
{
static function start()
{
// контроллер и действие по умолчанию
$controller_name = 'Main';
$action_name = 'index';

$routes = explode('/', $_SERVER['REQUEST_URI']);

// получаем имя контроллера
if ( !empty($routes[1]) )
{
$controller_name = $routes[1];
}

// получаем имя экшена
if ( !empty($routes[2]) )
{
$action_name = $routes[2];
}

// добавляем префиксы
$model_name = 'Model_'.$controller_name;
$controller_name = 'Controller_'.$controller_name;
$action_name = 'action_'.$action_name;

// подцепляем файл с классом модели (файла модели может и не быть)

$model_file = strtolower($model_name).'.php';
$model_path = "application/models/".$model_file;
if(file_exists($model_path))
{
include "application/models/".$model_file;
}

// подцепляем файл с классом контроллера
$controller_file = strtolower($controller_name).'.php';
$controller_path = "application/controllers/".$controller_file;
if(file_exists($controller_path))
{
include "application/controllers/".$controller_file;
}
else
{
Route::ErrorPage404();
}

// создаем контроллер

//Вот тут и возникает ОШИБКА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$controller = new $controller_name;
$action = $action_name;

if(method_exists($controller, $action))
{
// вызываем действие контроллера
$controller->$action();
}
else
{

Route::ErrorPage404();
}

}

function ErrorPage404()
{
$host = 'http://'.$_SERVER['HTTP_HOST'].'/';
header('HTTP/1.1 404 Not Found');
header("Status: 404 Not Found");
header('Location:'.$host.'404');
}
}

Помогите разобраться в чём тут проблема) Спасибо.

Вот ошибка
Class 'Controller_Main' not found in mvc\application\core\route.php on line 55 - это если на web matrix

а на apach вообще просто 404 и всё
 

Вложения

  • 7,3 KB Просмотры: 0

grigori

( ͡° ͜ʖ ͡°)
Команда форума
не надо писать mvc, возьми фреймворк и напиши на нем приложение
 

SergXP

Новичок
Всем привет. Я пишу свою MVC по вот этой информации http://habrahabr.ru/post/150267/

Вот ошибка
Class 'Controller_Main' not found in mvc\application\core\route.php on line 55 - это если на web matrix

а на apach вообще просто 404 и всё
Проверьте какое значение содержит переменная
PHP:
echo $controller_path;
у Вас скорее всего не подключился файл контроллера,
а если подключился
объявите в нем класс Controller_Main

не надо писать mvc, возьми фреймворк и напиши на нем приложение
я не согласен с Вами. Каждый разработчик, должен через это пройти.
Да пусть велосипед получится на деревянных колесах и без педалей, зато можно отлично понять что такое "MVC".
И после такого опыта взять любой понравившийся фреймворк и освоить.
Помню когда впервые использовал Zend, было сложновато все понять.
После изучения и написания своего чудо, все эти фреймворки стали более легки в изучении и использовании.

P.S. извините за оффтоп.
 
Сверху