PHP/MySQL | Фу-ция автозагрузки классов
function loadClasses($list_classes, $ini = true) {
global $classes;
$classes = array();
if (is_array($classes)) {
$error = false;
foreach ($list_classes as $class) {
if (!file_exists(ROOT . '/classes/' . $class . '.class.php')) {
echo "<b>ERROR</b>: Class {$class}.class.php is not exists!<br/>";
$error = true;
continue;
}
require_once(ROOT . '/classes/' . $class . '.class.php');
if ($ini) {
$classes[$class] = new $class();
}
}
if ($error) {
return false;
}
} else {
if (!file_exists(ROOT . '/classes/' . $list_classes . '.class.php')) {
echo "<b>ERROR</b>: Class {$list_classes}.class.php is not exists!<br/>";
return false;
} else {
require_once(ROOT . '/classes/' . $classes . '.class.php');
if ($ini) {
$classes[$list_classes] = new $list_classes();
}
}
}
return true;
}
Есть ли минусы данной функции? Советуйте, что можно подправить.
________
посл. ред. 28.08.2015 в 01:27; всего 2 раз(а); by Eugene
global $classes;
$classes = array();
if (is_array($classes)) {
$error = false;
foreach ($list_classes as $class) {
if (!file_exists(ROOT . '/classes/' . $class . '.class.php')) {
echo "<b>ERROR</b>: Class {$class}.class.php is not exists!<br/>";
$error = true;
continue;
}
require_once(ROOT . '/classes/' . $class . '.class.php');
if ($ini) {
$classes[$class] = new $class();
}
}
if ($error) {
return false;
}
} else {
if (!file_exists(ROOT . '/classes/' . $list_classes . '.class.php')) {
echo "<b>ERROR</b>: Class {$list_classes}.class.php is not exists!<br/>";
return false;
} else {
require_once(ROOT . '/classes/' . $classes . '.class.php');
if ($ini) {
$classes[$list_classes] = new $list_classes();
}
}
}
return true;
}
Есть ли минусы данной функции? Советуйте, что можно подправить.
________
посл. ред. 28.08.2015 в 01:27; всего 2 раз(а); by Eugene
Eugene, Lol. Зачем велосипеды делать???
function __autoload($class){
include ('/class.'.$class.'.php');
}
function __autoload($class){
include ('/class.'.$class.'.php');
}
CreepMatis (28.08.2015 в 01:33)
Eugene, Lol. Зачем велосипеды делать???
function __autoload($class){
include ('/class.'.$class.'.php');
}
Необходимо сразу создавать экземпляр класса, занося ссылку в массив. Знаешь как через __autoload() сделать?
Eugene, Lol. Зачем велосипеды делать???
function __autoload($class){
include ('/class.'.$class.'.php');
}
CreepMatis, для модульной системы.
CreepMatis (28.08.2015 в 01:33)
Eugene, Lol. Зачем велосипеды делать???
function __autoload($class){
include ('/class.'.$class.'.php');
}
Спасибо за идею, тему крою.
Eugene, Lol. Зачем велосипеды делать???
function __autoload($class){
include ('/class.'.$class.'.php');
}