2014-11-22 5 views
0

Как ussualy KO3 работа: 1. Получить файлы из «системы» 2. Замените некоторые каждый используемый «модуль» 3. И, наконец, - заменить на «приложении»Kohana каркасно-каскадная файловая система. Как добавить папку в эту цепочку каскадов?

Что я должен добавить список дел в этих цепь еще одна папка папку? Как расширить этот каскад? Например, я хочу, чтобы загрузить классы, как здесь:

  1. "/ система /"
  2. "/ модули /"
  3. "/перед тем, плагинов/"
  4. "/плагины/ "
  5. " /before-application/ "
  6. «/ приложение /»

, и я хочу, чтобы «плагины» имеет такую ​​же функциональность как «модулей» Чтобы я могу инициализировать каждый плагин как модуль, с помощью:

Kohana::plugins(array(
     'plugin_1'  => PLUGPATH.'plugin_1',  // Plugin 1 
     'plugin_2'  => PLUGPATH.'plugin_2',  // Plugin 2 
     // and so on 
     )); 

И что мне нужно сделать, чтобы создать еще одну внешнюю папку приложений, которая будет загружаться до запуска приложения? ("/перед тем, применение/ "и" /Before-плагинов/")

Я знаю, что нужно поместить в приложения/классы/Кохана/core.php копии из SYSPATH и сделать что-то. Но что? Помоги мне, пожалуйста!

ответ

2

Вы действительно ошибаетесь. 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 для автозагрузки.

 Смежные вопросы

  • Нет связанных вопросов^_^