# L!MP (09.11.2013 / 15:16)
Simba, ОRМ там вобще весёлая. Мапится на БД, но кешировать схему не умеет (или уже умеет?). Ну и то, что ты описал, видимо оно не кеширует полученые в рантайме связные данные, и при каждом обращении,
Кэшировать вроде умеет, но на сколько я начитался делает это только если в бутстрапе установлен режим продакшена. гг. но не проверял если честно)))
L!MP, ты про автоподгрузку именно в кохане? Тогда нет, не знаком с ней )
Теперь знаком. Это действительно ужасно Оо
Delphinum, да, именно про их "иерархическую файловую стр.ру" которой кичатся все фанбои этого ФВ, и которая в реалиях современного РНР с простанствами имён - нафик не нужна.
Ничего против наследования и полиморфизма я не имею
Речь о другом. Это просто нужно видеть, словами это не описать, гг.
# Delphinum (09.11.2013 / 15:24)
Теперь знаком. Это действительно ужасно Оо
Да норм там всё гг. Можно воткнуть модуль кэширования правда не родной и автозагрузка будет вся в одном файле гг.
Simba, я о автозагрузке. Кстати, у себя в ORM реализовал прозрачное кэширование еще и на уровне Memcache (ну или другого программного кэшера, на выбор пользователя). То есть если ты один раз сделал $user = $dm->get(5); то запрос пойдет в БД, а вот второй раз $dm->get(5); система возмет из memcache + если где то еще есть ссылка на объект с id 5 браться будет из кэшера
А чо там не так с автозагрузкой? гг. Или я не понял о чем вы? ))) Вроде обычная загрузка.
Simba, там используется в качестве разделителя пакетов символ _ когда может использовать символ \ как в namespace. Это ограничивает имя класса заставляя не использовать в имени _.
Нормальная автозагрузка это когда:
use lib\db\ActiveRecord
$ar = new ActiveRecord('Users');
Simba, о том, что иерархия классов в модулях, наследует кучу классов в ядре, которые наследуют иерархию классов ядра, но из папочки "кохана" (или как там её).
В результате, когда мы пишем: nеw КакойТоКлассМодуляКоторыйУнаследованОтКлассаЯдра...ИНеДайБогОнЕщёИПереопределенУНасВПапочкеПриложения(), будит подгружено штук 6-7 файлов с этими классами.
# Delphinum (09.11.2013 / 15:39)
Simba, там используется в качестве разделителя пакетов символ _ когда может использовать символ \ как в namespace. Это ограничивает имя класса заставляя не использовать в имени _.
Нормальная автозаг
Ну х.з. думал что-то более серьёзное))
Не ощущал проблем никаких с этим. гг. Если честно не встречал нигде ещё подобного : use lib\db\ActiveRecord
Возможно ничего кроме быдлокода не юзал, не спорю)))