Новые функции в репозитории фреймворка: ORM/ActiveRecord топик-ссылка

4
Всем добрый день. Хотелось бы рассказать немного о, думаю, многим уже известном, движке LiveStreet. Точнее, о том, как продвигается его развитие и о новых функциях в dev-репозитории.

Комментарии (15)

RSS свернуть / развернуть
не забываем плюсовать пост на хабре ;)
0
  • avatar
  • Ajaxy
  • 08 декабря 2010, 12:43
Стоило мне убить день и разобраться, как появился материал. Спасибо за труды.

Тот пример со статьями плохо работает с текущей версией движка из репозиория? Пока не понял, как заставить его работать без ошибок, но ошибка уходит, если убрать связь с юзером (что понятно). Так понимаю, ещё способ — унаследовать ModuleUser_*User в движке от ORM версий абстрактных классов?
0
ничего не могу про тот пример сказать, это было как-то давно :)
но в приницпе да, насчет ModuleUser и EntityUser правильно!
0
Я так понял, планируется перевод модулей-мапперов-сущностей на ORM? Ну поменяю я локально наследование не от Entity, а от EntityORM, потом обновлю и снова менять…
0
Попробовал поменять родителей для всех классов модуля User — нашёл багу.

Если первичный ключ содержит символ нижнего подчёркивания, получается такая конструкция User_ModulegetUserItemsByArrayUser_Id. Исправил в Engine формирование этой строки (вставил явно слово Module), стало получаться, на первый взгляд, правильно — ModuleUser_getUserItemsByArrayUser_Id.

Далее Engine::GetClassInfo() неправильно разбирает эту строчку и Engine::_CallModule пытается вызвать метод id модуля User.
0
Ну согласное соглашению по именам методов и не должен содержать )
0
Где есть соглашение?

Я не отрицаю, не должен. Но бага всё-таки есть. Не я же генерирую вызов этого метода. Вопрос открыт.
0


З.Ы. я как бы согласен если не вы генерируете название и бага присутствует =)
0
Омг. На мой вкус, стандарт именования в LiveStreet несколько отличается от PEAR'овского. Так что эта дока хоть и хороша, в данном случае, не актуальна.
0
в ЛС вообще нету стандарта наименования, на мой вкус. ок
0
Так и не удалось получить желаемого поведения от этой модели. Есть родительская сущность А, в ней несколько дочерних Б. Всё. Вложенность закончилась. Получить список сущностей А с вложенными сущностями Б. Такое в данный момент получить в принципе возможно или здесь метод в модуле придётся писать ручками?

Код хочу получить примерно такой
СписокСущностейА[0]->GetСписокСущностейБ[1]->getTitle();


Раскуривание исходников в полной мере не проясняет вопроса.

Спасибо.
0
результаты выполнения функций в PHP нельзя использовать как массивы: ->GetСписокСущностейБ[1]
0
Если придираться и дальше, то тут и не функция. Было бы ->GetСписокСущностейБ()[1]

Я здесь написал псевдокод. Если Get так мозолит глаза, можно его убрать в данном примере.

Проблема не в этом.

Или записать вот так:

$aСписокСущностейБ = $aСписокСущностейА[0]->GetСписокСущностейБ();
$aСписокСущностейБ[1]->getTitle();

Как настроить $aRelations чтобы получить такую структуру?
0
Здорово. Собственно все вопросы расхватали еще на хабре.
Почему ActiveRecord и почему свой велосипед если есть, скажем Doctrine 2
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.