Еще одна интересная особенность. Бытует мнение, что имя файла, декларируещего модуль в системе, должно быть таким же как имя модуля или CompanyName_All.xml. Но это далеко не так. Файл может называться хоть Вася_Пупкин.xml Главное чтобы содержимое файла было правильным
На самом деле все не так. Надо было просто внимательнее посмотреть код метода Mage_Core_Model_Config::init()
Порядок такой:
1 — загрузка всех app/etc/*.xml
2 — загрузка app/etc/local.xml
3 — загрузка всех app/etc/modules/*.xml
4 — загрузка config.xml config.{resource_name}.xml из etc папок активных модулей в порядке их зависимости
5 — загрузка app/etc/local.xml (сделанно для того что бы никакой модуль или левый конфиг не убил ничего из предыдущей загрузки local.xml, так как все конфиги мерджатся в один xml)
6 — загрузка конфигов из базы данных
reinit тоже расписывать не буду когда и как вызывается.
В заключении можно сказать, что указанный вами метод init вызывается только при вызове Mage::app() или Mage::init с пустым массивом $modules
Эти методы обычно используются при написании сторонних php скриптов, запускающихся из терминала, либо кроном.
Я же в статье рассматрива метод run из index.php (т.е. стандартного метода запуска магазина), который запускает всю цепочку.
local.xml подключаеться дважды, local.xml не ищеться в папке модуля. Модули грузяться только те которые enabled. Загрузка конфига из базы данных. Статья мягко говоря не полная. Еще и какие то непонятные куски кода, зачем?
Если хотите расказать про работу конфига в magento, разберитесь как все работает, на каком этапе какие файлы подключаються. В каких файлах как можно влиять на конфиг. Как работает деректива extends. нарисуйте красивую сиквенс диаграмму, где будет виден порядок вызовов. Так же стоит описать какие части конфига кешируються. И не стоит забивать на cron и shell скрипты, так как без них маджента работать не будет, и стоит упомянуть что там конфиг инициализируеться по другому.
Мне жаль, что вам не понятны эти куски кода…
На счет local.xml вы правы, это я не доглядел в статье. Он грузится из папки app/etс дважды, дабы магазин работал всегда. Обусловлено это тем, что все грузиться в единую древовидную структуру.
Увидим ли мы ваши статьи с «красивыми сиквенс диаграммами» и прочими красотулями?
Magento. Процесс загрузки конфигурационных файлов