Как работает KO3:
1. Получить файлы из «системы» 2. Замените некоторые на каждый используемый «модуль» 3. И наконец — заменить на «приложение»
Что мне нужно сделать, чтобы добавить в эти цепочки еще одну папку?
Как расширить этот каскад?
Например, я хочу загрузить классы, как здесь:
и я этого хочуплагины«имеет ту же функциональность, что и»модули«Чтобы я мог инициализировать каждый плагин как модуль, путем:
Kohana::plugins(array(
'plugin_1' => PLUGPATH.'plugin_1', // Plugin 1
'plugin_2' => PLUGPATH.'plugin_2', // Plugin 2
// and so on
));
И что мне нужно сделать, чтобы создать еще одну похожую папку приложения, которая будет автоматически загружаться перед запуском приложения? (»/ Прежде, чем-приложения /» а также «/ до-плагинов /«)
Я знаю, что должен положить в приложение / classes / Kohana / Core.php копию из SYSPATH и сделать что-то. Но что? Помоги мне, пожалуйста!
Вы на самом деле ошиблись. Kohana::auto_load()
использования Kohana::find_file('classes', $file)
для ваших занятий. Часть, которая применяется здесь
foreach (Kohana::$_paths as $dir)
{
if (is_file($dir.$path))
{
// A path has been found
$found = $dir.$path;
// Stop searching
break;
}
}
и с тех пор Kohana::$_paths
является
array(11) ( 0 => string(32) "/var/www/guides/3.3/application/"1 => string(33) "/var/www/guides/3.3/modules/.../"9 => string(38) "/var/www/guides/3.3/modules/.../"10 => string(27) "/var/www/guides/3.3/system/")
Приложение будет найдено в первую очередь. Если там ничего не найдено, то Кохана будет искать в модулях. И только если не было найдено существующего класса, системный каталог будет изучен.
Теперь редактируя Kohana::$_paths
Вы можете легко контролировать порядок, используемый Kohana для автозагрузки.
Других решений пока нет …