Духовность™
Продвинутый новичок
В общем, суть такова, что система использует PEAR-стиль Именования_Классов. Классы именуются примерно так:
всё это лежит в директории DirWithMySuperFramework
На данный момент подгрузчик выглядит так:
естественно, это было в свое время временное решение, когда система использовала исключительно файлы только своего фреймворка.
Теперь вопрос стоит о том, как сделать погрузку пакетов других разработчиков?
Есть несколько вариантов:
1. Прописать include_path для директории фреймворка и для каждой(?) директории с либами.
2. Переименовать все классы фреймворка, добавив уникальную приставку к имени класса (наименование фреймворка) и хранить и фреймворк и либы в одной директории.
???
PHP:
Base_Model
Mapper_Abstract
Module_Common_Model_Common
На данный момент подгрузчик выглядит так:
PHP:
define('FRAMEWORK_PATH', 'path/to/DirWithMySuperFramework');
function __autoload($class_name)
{
$realpath = FRAMEWORK_PATH . DIRECTORY_SEPARATOR.
str_replace('_', DIRECTORY_SEPARATOR, $class_name) . '.php';
if (file_exists($realpath)) {
require($realpath);
} else {
throw new RuntimeException('Не найден подключаемый файл по адресу: ' . $realpath);
}
}
Теперь вопрос стоит о том, как сделать погрузку пакетов других разработчиков?
Есть несколько вариантов:
1. Прописать include_path для директории фреймворка и для каждой(?) директории с либами.
2. Переименовать все классы фреймворка, добавив уникальную приставку к имени класса (наименование фреймворка) и хранить и фреймворк и либы в одной директории.
???