Очень интересно. Я только сейчас нашел, где мне реально могут понадобится большое количество AR моделей.
Yii: trunk
Количество моделей: 560
Столбцов: 12 (text, varchar, int, enum, timestamp)
Память: 5,450Кб
Я вывел интересующую меня информацию по 560 моделям, естественно без использования отношений. Никакого кеширования, сервер локальный не настроен совсем.
Так что если оставить за бортом рациональность подобного подхода(у меня например эта страница полностью кешируется — мне один раз памяти не жалко чтобы сохранить единообразие) — не так уж оно и течен.
Я именно поэтому и добавил — 'Хотя это и не совсем то.'
Однако вы не ответили на вопрос. О какой ситуации вы говорите, когда AR с массивом моделей не подходит? И на каком количестве записей будет ощутима потеря производительности?
// не подходит для больших выборок
Вы про накладные расходы при создании обьектов? Если это правда будет проблемой есть DAO, который не менее удобен. Хотя это и не совсем то.
И, кстати.
// Как сделать так, чтобы у товара А были одни свойства, а у товара Б — другие
Есть замечательный шаблон EAV. Он создан именно для этого и если его правильно приготовить станет настоящим подарком.
Если кто-нибудь из разработчиков интерфейса добавит меня в gTalk готов системотически вываливать тонны нареканий по интерфейсу :)
А так весьма приятное приложение.
Yii: trunk
Количество моделей: 560
Столбцов: 12 (text, varchar, int, enum, timestamp)
Память: 5,450Кб
Я вывел интересующую меня информацию по 560 моделям, естественно без использования отношений. Никакого кеширования, сервер локальный не настроен совсем.
Так что если оставить за бортом рациональность подобного подхода(у меня например эта страница полностью кешируется — мне один раз памяти не жалко чтобы сохранить единообразие) — не так уж оно и течен.
Однако вы не ответили на вопрос. О какой ситуации вы говорите, когда AR с массивом моделей не подходит? И на каком количестве записей будет ощутима потеря производительности?
Вы про накладные расходы при создании обьектов? Если это правда будет проблемой есть DAO, который не менее удобен. Хотя это и не совсем то.
Но пост решает поставленную задачу, так что спасибо.
// Как сделать так, чтобы у товара А были одни свойства, а у товара Б — другие
Есть замечательный шаблон EAV. Он создан именно для этого и если его правильно приготовить станет настоящим подарком.
Какой вы зануда.
Если у класса может быть лишь один экземпляр в приложении — вот его дух :)
А так весьма приятное приложение.
public function test(Itest $test){}
Но я с вами согласен. Без приведения и правда становится грустнее.