Сущность ориентированный фреймворк.

Уже исправленные репорты или принятые предложения
Ответить
aster_x
Сообщения: 26
Зарегистрирован: 2012.09.26, 02:42

Сущность ориентированный фреймворк.

Сообщение aster_x » 2013.03.27, 10:08

Здравствуйте!
Есть 2 идеи, по расширению ядра.

1. Внести поддержку сущностей.
Есть базовая таблица с сущностями, есть таблицы "наследники", пример структуры DB:

Entity -- Базовая таблица, содержит поля: id, owner, type, _temp, create_time, update_time
Поле type, хранит в себе названия сущностей("User", "Post", и.т.д )
Entity_User
Entity_News
Entity_Post

Таблицы "наследники", имеют ID такой же как и базовой таблицы.
В конфигах DB, появляется параметр baseEntityTable.
Данная фича уже создана, и опробованна, на одном моем стартапе.

2. Для связываемой модели, добавить возможность передавать параметры.
1. Это поможет, в тех случаях, когда приходиться подстраивать Yii под существующие архитектуры.
2. Сделает работу с моделями более гибкой.

Возникает вопрос: будут ли такие фичи, если я их сделаю, приняты в ядро фреймворка?

Аватара пользователя
Ryadnov
Сообщения: 456
Зарегистрирован: 2010.06.20, 00:38
Откуда: Санкт-Петербург

Re: Сущность ориентированный фреймворк.

Сообщение Ryadnov » 2013.03.27, 12:28

Возникает вопрос: будут ли такие фичи, если я их сделаю, приняты в ядро фреймворка?
ИМХО. В ядро это не примут, т.к. это уже слой логики вашего приложения.

Не могли бы вы расписать, какие плюсы вашего подхода?

Аватара пользователя
samdark
Администратор
Сообщения: 8694
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Сущность ориентированный фреймворк.

Сообщение samdark » 2013.03.27, 12:53

К фреймворку это отношения не имеет. Это больше подход к решению ряда проблем.

aster_x
Сообщения: 26
Зарегистрирован: 2012.09.26, 02:42

Re: Сущность ориентированный фреймворк.

Сообщение aster_x » 2013.03.27, 13:41

По 1 пункту,
я предполагал создать 2 отдельных класса CEntity(CActiveRecord) И CActiveEntity(CEntity),
Серьезные приложения основываются на подобных сущьностях, и если они будут в "коробке", это - здорово.

По пункту 2,
Разве расширение механизма реляции в ORM не относится к фреймворку? о_О

Ну так, делать или нет?
P.S. Ни хочеться делать форк, и отрываться от основного потока.

Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Сущность ориентированный фреймворк.

Сообщение lancecoder » 2013.03.27, 14:18

а я чтото не понял, о каких проблемах вы говорите? и чем данные "сущности" ее решают ):

Аватара пользователя
samdark
Администратор
Сообщения: 8694
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Сущность ориентированный фреймворк.

Сообщение samdark » 2013.03.27, 15:55

Похоже, пример непонятный. Я не понял, зачем это нужно в фреймворке...

aster_x
Сообщения: 26
Зарегистрирован: 2012.09.26, 02:42

Re: Сущность ориентированный фреймворк.

Сообщение aster_x » 2013.03.27, 20:18

Пункт 1.
Это способ расширить фреймвок, с целью поддержания модели при которой ВСЕ данные в системе имеют общее начало, по аналогии с Drupal нодами. Прямо из коробки.

Пункт 2.
Передавать параметры в связываемые модели, как мне кажется, весьма интересная штука, можно разнообразить арсенал программиста.

P.S. Ну да ладно, проехали. Пусть, все остается как есть.

Аватара пользователя
samdark
Администратор
Сообщения: 8694
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Сущность ориентированный фреймворк.

Сообщение samdark » 2013.03.28, 11:54

1. http://rmcreative.ru/blog/post/nasledov ... tsey-v-yii ?
2. Про это опять не понял...

Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Сущность ориентированный фреймворк.

Сообщение lancecoder » 2013.03.28, 13:18

2. getRelated наверно имеется ввиду, но это скорее касательно HAS_ONE, но опять же, как то не логично - настраивать модели ("передавать параметры" - я так понял конфигурировать)

Аватара пользователя
samdark
Администратор
Сообщения: 8694
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Сущность ориентированный фреймворк.

Сообщение samdark » 2013.03.28, 16:03

А, так тоже можно при использовании lazy loading...

aster_x
Сообщения: 26
Зарегистрирован: 2012.09.26, 02:42

Re: Сущность ориентированный фреймворк.

Сообщение aster_x » 2013.03.28, 17:32

По пункту 2.

Есть 4 таблицы:
object, news, product, event

А также 4 таблицы, в которых хранятся локализованные значения:
translate_object, translate_news, translate_product, translate_event

Вопрос: Как используя всего ОДНУ модель, сделать универсальный подход для работы с 4 таблицами переводов, не используя eval ?
Именно через relations().
Спасибо!

Аватара пользователя
samdark
Администратор
Сообщения: 8694
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Сущность ориентированный фреймворк.

Сообщение samdark » 2013.03.28, 22:03

А зачем это нужно?

aster_x
Сообщения: 26
Зарегистрирован: 2012.09.26, 02:42

Re: Сущность ориентированный фреймворк.

Сообщение aster_x » 2013.03.28, 22:25

1. Что бы интернационализировать существующий проект. В котором около 20 сущностей.
При этом плодить 20 однитипных файлов не хочется, у которых только разные названия.
2. Можно создавать связанные гибкие ДИНАМИЧЕСКИЕ модели(на лету). Включая фантазию, это мощьный инструмент в инструментарии программера.
3. Это даст конкурентное приемущество, перед всякими Симфони.

Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Сущность ориентированный фреймворк.

Сообщение lancecoder » 2013.03.29, 00:40

ээ, я шас юзаю уникальный экшен, который принимает type, возможные варианты - поиск, добавление, редактирование, детали, удаление, он универсален в примитивной работе, что касается модели и ее релейшенов, я пишу админку за часы, просто конфигурирую контроллер, нет ни экшенов (везде 1 универ) нет ни вььюх(везде 1 универ) есть абстракция, на мой взгляд она очень нужна, давайте встроим в фреймворк?

Ответить