Как стать автором
Обновить
44
0

Программист

Отправить сообщение
Реализовал 4 метода вычитки объекта из БД.

  1. $user = new T_USER($id);
  2. $menu = T_USER::Load($id);
  3. $menu = $mikron->Queries->QueryOne('T_USER', $id);
  4. $menu = MikronBaseObject::getInstance('T_USER', $id);


Какой оставить, никак не решусь… Помогите плиз с решением.
Вы уже на основе какой-то ORM это говорите? Или просто размышляете?
в конце концов Вы можете оставить ваши таблицы в покое и описать в схеме Mikron сущность совпадающую по имени с названием таблицы, а также поля совпадающие по именам =)
Вся суть именно в том, что описывается в ORM. Разве другие ORM поступают иначе?
А как же русскоязычные имена полей, справочники для некоторых полей, описание типов данных, для возможности построения автовалидаторов?
Таблицы может и есть, но ведь в них нет той информации, которая требуется для описания самой сущности, это просто таблицы. ORM не обладает искусственным интеллектом, который может случайные таблицы БД превратить в сущности и догадаться какое поле за что отвечает, как называется по русски и что туда еще можно записать. Mikron как раз позволяет спроектировать такую упорядоченную структуру.
На основе XML генерируются таблицы БД + php классы этих самых сущностей
Так ведь на основе этого XML еще и классы генерируются?
Здесь наоборот, из XML автоматически генерируется и модифицируется таблица БД.
Наличие средств разбора, валидации, преобразования. Легко модифицировать в любом текстовом редакторе. Хотел в начале сделать описание на самом PHP, но потом решил, что всетаки файл настроек должен легко читать используя любой язык программирования, а не только PHP.
XML описания сущностей или конфигурационного файла Mikron?
Согласен. Пересмотрел логику. Как насчет такого метода?
$user = T_USER::Load($id);
хибернейт в каком-то роде, но все что я делаю в Mikron старюсь сильно упрощать в хорошем смысле слова.
В общем я и выложил то все сюда, с целью послушать комментарии, советы, возможно даже кто-то поправит меня где-то, предложит что-то лучшее.
ой, код пропал =(

<?xml version="1.0"?>
<data name="Mikron configuration file">
  <attr name="default_site">sample</attr>
  <list name="loadable_modules">
    <data name="paginator" />
    <data name="rtfgen" />
    <data name="html_table" />
...
Зато есть такое: />

В принципе например этого не обязательно писать: $mikron->Modules->LoadModule('slidewindow');

Можно обойтись добавлением записи в конфигурационный файл.

<?xml version=«1.0»?>
sample
/>
/>
/>
>Не должен конструктор объединяться с запросом в базу. Слишком разные это задачи. Делать это надо отдельными методами. Самый удобный и логичный вариант — static метод.
Это ли не короткий метод загрузки объекта без использования непонравившегося Вам $mikron->Queries->QueryOne?
1) «Совершенный код», уже пол книжки прочитал =) и продолжаю читать.
2) $mikron->Queries->QueryOne — объектный подход, не спорю, это частый момент, можно наверно дописать MikronQueries::Query()? Правильно?
А есть примеры ORM, которые были бы также легки в использовании как CMS?
Поверьте, это уже далеко не сырой продукт, я его уже пол-года пишу.
1) Да, именно при создании сайта
2) Думаю, это кому как удобно, не хочешь, не пиши в конструктор, есть другой способ загрузки: $user = $mikron->Queries->QueryOne('T_USER', 1, new Criteria(...)); Вернет либо объект, либо null.

Я уже прошел этап перепроектирования, я его перепроектировал даже не раз в неделю, а по несколько раз в сутки =) И начальная документация тоже кстати имеется уже, лежит в /mikron/admin/help/mikron_orm.doc

Посмотрите чуть ниже, я привел список сайтов, которые уже написаны на нем.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность