индексный файл
<?php
header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL);
require './core/controller.php';
require './core/model.php';
include './views/index.php';
controller.php
<?php
require_once './core/find_path.php';
//route
class Route {
static function start($GET) {
if (file_exists(ROOT_PATH.PATH_CONTROLLERS.new_path::make_path($GET).'_controller.php')) {
$path_controller=ROOT_PATH.PATH_CONTROLLERS.new_path::make_path($GET).'_controller.php';
return $path_controller;
}
else {
header("HTTP/1.1 404 Not Found");
exit(file_get_contents(ROOT_PATH.'/404.html'));
}
}
}
model.php
<?php
class Model {
static function start($GET) {
if (file_exists(ROOT_PATH.PATH_MODELS.new_path::make_path($GET).'_model.php')) {
$path_model=ROOT_PATH.PATH_MODELS.new_path::make_path($GET).'_model.php';
return $path_model;
}
else {
echo 'File '.self::make_path($GET).'_model not found.';
}
}
}
и как конкретные представители контроллер и модель индексной страницы
main_controller
<?php
$model= new main_model;
echo 'MAIN controller';
echo $model->echo_text();
main_model
<?php
class main_model {
function echo_text () {
$txt='MAIN MODEL';
return $txt;
}
}
файл вида index.php
<?php include Route::start($GET); include Model::start($GET); ?>
То есть, когда я вызываю индексную страницу, должен подключиться контроллер, модель и на странице выведется "MAIN controller MAIN MODEL" как факт того, что все файлы подключены. Но по факту выходит так, что вылетает ошибка: Fatal error: Class 'main_model' not found in Z:\home\site.loc\www\controllers\main_controller.php on line 9
Выходит, что в файле main_controller я создаю объект с именем main_model и через него пытаюсь вывести фразу MAIN MODEL . Но именно в этом файле контроллера он не находит подключения файла этой модели. То есть ему плевать, то что я подключил файл модели параллельно файлу контроллера, ему нужно чтобы я подключил файл main_model именно в файле main_controller, и тогда он найдет класс с этим именем.
Рассудите все эти дела с видимостью класса для объекта пожалуйста.