Здесь показаны различия между двумя версиями данной страницы.
Следущая версия | Предыдущая версия | ||
eaze:автозагрузка_классов [2013/02/12 23:19] sergeyfast создано |
eaze:автозагрузка_классов [2013/02/12 23:24] sergeyfast [Режим с компиляцией пакетов] |
||
---|---|---|---|
Строка 14: | Строка 14: | ||
* [[eaze:actions.xml|<Project>.<Package>.xml]] | * [[eaze:actions.xml|<Project>.<Package>.xml]] | ||
- | * Правило именования файлов: Имя класса = Имя файла.php. | + | * Правило именования файлов: Имя файла = Имя класса.php. |
* Использование неймспейсов допускается только в {}. | * Использование неймспейсов допускается только в {}. | ||
Строка 50: | Строка 50: | ||
==== Обычный режим ==== | ==== Обычный режим ==== | ||
- | При каждом обращении Package.php строит карту классов, расположенных в ''lib/*/* '' (кроме actions) и далее при любом обращении к классу, который не загружен, происходит include этого класса. | + | При каждом обращении Package.php строит карту классов, расположенных в ''lib/*/* '' (кроме actions), и при любом обращении к классу, который не загружен, происходит include этого класса. |
==== Режим с компиляцией пакетов ==== | ==== Режим с компиляцией пакетов ==== | ||
В этом режиме файлы в папке ''cache'' разделены не по пакетам, а по uri. Есть ''package_system.php'', в котором находятся классы до момента вызова функции ''Package::BeginUri( $uri )'', и ''package_md5(uri).php'', где находятся все классы, которые используются после BeginUri (вызывается в Page.php). Таким образом мы загружаем только те классы, которые реально используются на странице. | В этом режиме файлы в папке ''cache'' разделены не по пакетам, а по uri. Есть ''package_system.php'', в котором находятся классы до момента вызова функции ''Package::BeginUri( $uri )'', и ''package_md5(uri).php'', где находятся все классы, которые используются после BeginUri (вызывается в Page.php). Таким образом мы загружаем только те классы, которые реально используются на странице. | ||
+ | |||
+ | |||
Файл ''cache/compiled.eaze'' отвечает за сброс кэша. Файл ''cache/classmap.json'' отвечает за карту используемых классов (создается в процессе работы). | Файл ''cache/compiled.eaze'' отвечает за сброс кэша. Файл ''cache/classmap.json'' отвечает за карту используемых классов (создается в процессе работы). | ||