DANFA

Автозагрузка классов на PHP

PHP
Писал для своего небольшого проекта автозагрузку классов, возможно, кому то пригодится.
Выкладываю код (функция loading()):
# Функция loading() - автозагрузка классов
# $thing - Название и директория файла | класса (без '.php')
function loading($thing)
{
    if (preg_match('|\.|', $thing))
    {
        $way   = explode('.', $thing);
        $thing = str_replace('.', '/', $thing);
        $class = array_pop($way);
    }
    else
    {
        $class = $thing;
    }

    if (file_exists($thing . '.php'))
    {
        require_once($thing . '.php');

        $subject = new $class();

        return $subject;
    }

    return false;
}
# Функция loading() END

Работать можно так:
$variable = loading('folder.class')->method($value);

Либо так:
$class    = loading('folder.class');
$variable = $class->method($value); 

В общем то, это одно и тоже.

Теперь давайте разберемся, что тут у нас. Функция loading принимает один параметр: folder.class, в данном случаи folder - это название папки, где лежит файл class.php с классом. Вместо слеша пишем точку, функция заменить все точки на слеши, разобьет полученную строку на массив, последний элемент массива будет использоваться, как название файла с классом (название класса и файла должно совпадать). Расширение .php писать не надо.