MVC загружен на cloud9, но когда класс автонагрузки, расположенный в lib/init.php
, не работает. .htaccess
в папке проекта или файлах папки webroot настроены неправильно.Функция автозагрузки моего класса не работает в моем mvc
Когда я посещаю мою ссылку проекта https://my-mvc-hunteelar.c9users.io/ дает это исключение:
Failed to load class: Config' in /home/ubuntu/workspace/lib/init.php on line 21
У меня есть 2 .htaccess
файлы. Первый код .htaccess в главной папке проекта является:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
второй .htaccess
файл, расположенный в папке WebRoot, которая должна быть общая папка моего MVC:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [PT,L]
</IfModule>
init.php
код который содержит функцию __autoload
.
require_once (ROOT.DS.'config'.DS.'config.php');
function __autoload($class_name){
$lib_path = ROOT.DS.'lib'.DS.strtolower($class_name).'class.php';
$controllers_path = ROOT.DS.'controllers'.DS.str_replace('controller', '', strtolower($class_name)).'class.php';
$models_path = ROOT.DS.'models'.DS.strtolower($class_name).'class.php';
if(file_exists($lib_path)){
require ($lib_path);
}
elseif (file_exists($controllers_path)){
require_once ($controllers_path);
}
elseif (file_exists($models_path)){
require_once ($models_path);
}
else{
throw new Exception('Failed to load class : '.$class_name);
}
}
Вот мой код загружен на cloud9 https://ide.c9.io/hunteelar/my-mvc
Просьба показать ваш код –
обновить код htaccess –
@Bhavik Patel Я разместил код – hunteelar