[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция autoload
Winston
Здравствуйте.
Есть такой код
    define('PHIS_PATH', dirname(__FILE__) . DS);

function __autoload($class)
{
// Название каталогов с файлами классов
$lib_path = Array('classes', 'lib', 'DB');
foreach($lib_path AS $path)
{
if(!file_exists(PHIS_PATH . $path . DS . $class . '.php'))
// Перезапускаем цикл, и ищем в следующем каталоге файлы
continue;
else
include_once
PHIS_PATH . $path . DS . $class . '.php';
}
}

Насколько такой способ подключения файлов хорош или плох?
Как можно было бы сделать по проще, возможно лучше ?



Спустя 7 часов, 22 минуты, 53 секунды (24.06.2011 - 07:48) linker написал(а):
Обычный стандартный автолоад. Не нравится только это
lib_path = Array('classes', 'lib', 'DB');
при каждом вызове инициализируется.

Спустя 5 часов, 1 минута, 11 секунд (24.06.2011 - 12:49) Winston написал(а):
Цитата (linker @ 24.06.2011 - 07:48)
Не нравится только

А как лучше сделать? Вынести массив за пределы функции ?
Но как потом можно передать их в ф-ю ?

Спустя 10 минут, 49 секунд (24.06.2011 - 13:00) linker написал(а):
В виде класса и использования spl_autoload_register().

Спустя 11 дней, 20 часов, 3 минуты, 53 секунды (6.07.2011 - 09:04) ExpJ написал(а):
Вообще autoload - очень хорошая штука. Практически во всех фреймворках используется. (ZF, Symfony, Kohana ...)

Ответ на ваш вопрос: лучше пользоваться готовым фреймворком.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.