Универсальный веб-объект?

Bermuda

Новичок
Автор оригинала: whirlwind
Но рисовать UML до выхода больмень стабильной версии, это ИМХО просто трата времени.
Товарищ предлагает строить модель _после_ :)))
Спасибо, посмеялся.

whirlwind, Вам знакомо такое понятие как модель? Осознаете ли Вы, что модель и практическая реализация это разные вещи.
Вам никогда не приходила в голову идея предложить архитекторам сначала строить мосты и их испытывать, а уж потом делать чертеж?

не срастаются у нас объекты А и Б так как изложено на схеме
Горе-то какое!
Не срастатся они могут по двум причинам
1. Неудачно разработана модель
2. За время разработки требования к проекту изменились, из чего сновы вытекает пункт 1.
Модель нужно лучше разрабатывать, тогда все будет срастаться.
 

whirlwind

TDD infected, paranoid
Товарищ предлагает строить модель на том же языке, на котором она будет реализована, а не на бумажках которыми в любое время можно подтереться

-~{}~ 22.11.06 17:39:

Bermuda по этому некоторые выбирают qcodo и propel.
не надо сравнивать жопу с пальцем. мост недоделанный стоять не будет. а большие системы модифицируются на протяжении всего срока эксплуатации. нельзя наUMLить того, в чем еще не возникла необходимость.
 

Bermuda

Новичок
whirlwind
А если вернуться к начальной теме и не растекаться мыслью по древу?
 

whirlwind

TDD infected, paranoid
Bermuda согласен, ушли в оффтоп. по топику советы, собсно уже, отписал.
 

mak_sim2001

Новичок
Взгляд со стороны
У меня опыт в ООП к сожелению не сильно большой, но как правило достаточно быстро разбирался в различных сайтах кодах(в том числе ООП), а сейчас сайт попался как раз на этой идее построен, и никаких доков, минимум комментариев, короче черт ногу сломит, блин парюсь я с ним старшно.
Каждый класс расширение другого и так до этого абстрактного класса(тоже класс object назвали), там ...ля даже класс подключения классов есть, каждая страница лепится - файлы с 2 - 4 папок берутся, может конечно это я недогоняю, но как во все въехать незнаю.
 

Sender

Новичок
mak_sim2001
это наверное уже для cms класс подключения классов сделали. Чтобы из БД можно было управлять
 

alexei.lexx

Новичок
Концепция ORM очень удобна в использовании. По-моему вот такой код очень красиво смсотрится.

$user = User::load(1);
$books = $user->books;
foreach ($books => $book) {
$author = $book->author;
...
}

Это лучше, чем набор SQL запросов. Хотя, конечно, медленнее. Но я работаю с выделенными серваками, которые ещё в кластере. Так что не проблема :D

Я реализовал данную идею по другому:

1 уровень - объект таблицы, инкапсулирующий в себе одну запись из таблицы,
2 уровень - менеджер подобных объектов,
3 уровень - конструктор запросов SELECT/UPDATE/INSERT/DELETE в зависимости от диалекта SQL,
4 уровень - коннектор к базе данных.

"Mapping" происходит способом схожим с Hibernate для Java. Очень гибко и расширяемо.

Всё это скоро выйдет в свет в виде фреймворка PHP on Rails. См. здесь http://www.phponrails.ru/

-~{}~ 03.12.06 12:29:

Дополнение к коду в последнем примере.

Классы User, Book и Author соттветствуют таблицам users, books, authors. Так что $user->books и $book->author - это не просто обращение к свойству класса, это реализация связей между таблицами в ORM.
 

zerkms

TDD infected
Команда форума
"Mapping" происходит способом схожим с Hibernate для Java. Очень гибко и расширяемо.

Всё это скоро выйдет в свет в виде фреймворка PHP on Rails. См. здесь http://www.phponrails.ru/
ничего особо уникального, просто дешёвый пиар. вам должно быть стыдно, как человеку, который делает порт рор'а ;)
 

alexei.lexx

Новичок
ничего особо уникального, просто дешёвый пиар. вам должно быть стыдно, как человеку, который делает порт рор'а
Что-то личное?

Судя по подписи конкурент ;) Очень приятно.
Нет ничего зазорного портировать хорошие идеи.
А за пиар извините, но не мог сдержаться.

В любом случае ORM стоит реализовывать и использовать :)
 

StUV

Rotaredom
Концепция ORM очень удобна в использовании. По-моему вот такой код очень красиво смсотрится.

$user = User::load(1);
$books = $user->books;
foreach ($books => $book) {
$author = $book->author;
...
}

Это лучше, чем набор SQL запросов. Хотя, конечно, медленнее. Но я работаю с выделенными серваками, которые ещё в кластере. Так что не проблема

Я реализовал данную идею по другому:

1 уровень - объект таблицы, инкапсулирующий в себе одну запись из таблицы,
2 уровень - менеджер подобных объектов,
3 уровень - конструктор запросов SELECT/UPDATE/INSERT/DELETE в зависимости от диалекта SQL,
4 уровень - коннектор к базе данных.

"Mapping" происходит способом схожим с Hibernate для Java. Очень гибко и расширяемо.

Всё это скоро выйдет в свет в виде фреймворка PHP on Rails. См. здесь http://www.phponrails.ru/

-~{}~ 03.12.06 12:29:

Дополнение к коду в последнем примере.

Классы User, Book и Author соттветствуют таблицам users, books, authors. Так что $user->books и $book->author - это не просто обращение к свойству класса, это реализация связей между таблицами в ORM.
прикольно... для уровня детского сада =)

-~{}~ 03.12.06 21:33:

По-моему вот такой код очень красиво смотрится.

$user = User::load(1);
просто офигенно, особенно эта единица =)

-~{}~ 03.12.06 21:35:

Это лучше, чем набор SQL запросов.
т.е. приведенный код не предполагает одного запроса... респект! =)

-~{}~ 03.12.06 21:36:

1 уровень - объект таблицы, инкапсулирующий в себе одну запись из таблицы
хм... Буч отдыхает...

-~{}~ 03.12.06 21:38:

2 уровень - менеджер подобных объектов
с учетом выше сказанного - каких объектов, чему подобных ??? =)

-~{}~ 03.12.06 21:39:

3 уровень - конструктор запросов SELECT/UPDATE/INSERT/DELETE в зависимости от диалекта SQL
блин, за это уже дают нобелевскую ? ;)

-~{}~ 03.12.06 21:41:

4 уровень - коннектор к базе данных
да?.......
это нужно только на 4-ом уровне ? =)))))))))
 

texrdcom

Новичок
Вы тему почитайте универсальный веб объект
охри...
Универсалность нашли,.
 

zerkms

TDD infected
Команда форума
StUV
своим сарказмом вы хотите сказать что ОРМ сосёт? вы используете ОРМ? вы хотите сказать что разработка без ОРМ удобнее и быстрее чем с оной?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: zerkms
своим сарказмом вы хотите сказать что ОРМ сосёт? вы используете ОРМ? вы хотите сказать что разработка без ОРМ удобнее и быстрее чем с оной?
А вот я использую ORM! Ажно целых два маппинга:
Отношение -> Итератор и
Кортеж -> Ассоциативный массив (ну это в ПэХаПэ не совсем объект, но всё же)

Мои волосы стали здоровыми и шелковистыми! Время разработки уменьшилось в 3,14159265 раз!
 

zerkms

TDD infected
Команда форума
Sad Spirit
и чего это старожилы так ополчились то? ;)
товарищи, расслабьтесь а? ;)

Кортеж -> Ассоциативный массив
и вы считаете что без обратного маппинга это может называться ОРМ'ом?

Время разработки уменьшилось в 3,14159265 раз!
конгратулейшнз
 

StUV

Rotaredom
своим сарказмом вы хотите сказать что ОРМ сосёт? вы используете ОРМ? вы хотите сказать что разработка без ОРМ удобнее и быстрее чем с оной?
хм... про орм мы уже поговорили в другом топе - ничего против я не имею, просто сам не использую ;)

приведенный пример меня очень рассмешил - прикольно, когда элементарные вещи преподносятся как супер открытие, новая парадигма в программировании...
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: zerkms
и вы считаете что без обратного маппинга это может называться ОРМ'ом?
Обратный маппинг тоже есть: на входе --- ассоциативный массив, на выходе --- запрос INSERT или UPDATE.
 

Alexandre

PHPПенсионер
Взгляд со стороны
У меня опыт в ООП к сожелению не сильно большой, но как правило достаточно быстро разбирался в различных сайтах кодах(в том числе ООП), а сейчас сайт попался как раз на этой идее построен, и никаких доков, минимум комментариев, короче черт ногу сломит, блин парюсь я с ним старшно.
Каждый класс расширение другого и так до этого абстрактного класса(тоже класс object назвали), там ...ля даже класс подключения классов есть, каждая страница лепится - файлы с 2 - 4 папок берутся, может конечно это я недогоняю, но как во все въехать незнаю.
mak_sim2001 прочитать http://www.books.ru/shop/books/30436
в общем - это стандартный ООП подход, разберись что откуда инклудится... по именам папок, по именам классов. Если это не дураки разрабатывали, то разобраться можно за пару дней (один дурак может назадавать столько вопросов, что семь мудрецов не ответят... тоже и в отношении кодинга)
 

alexei.lexx

Новичок
Автор оригинала: StUV
хм... про орм мы уже поговорили в другом топе - ничего против я не имею, просто сам не использую ;)

приведенный пример меня очень рассмешил - прикольно, когда элементарные вещи преподносятся как супер открытие, новая парадигма в программировании...
И где ты увидел напоминание о супер открытиях и новых парадигмах? Это раз.

Вот скажи: двигатель внутреннего сгорания был изобретён давненько? Принципы не менялись?
А разница есть??? Это два.

Догадываешься о чём я?

:)
 

StUV

Rotaredom
И где ты увидел напоминание о супер открытиях и новых парадигмах? Это раз.
Вот скажи: двигатель внутреннего сгорания был изобретён давненько? Принципы не менялись?
А разница есть??? Это два.
ну да... очень скромно подмечено
это скорее подтверждает мое отношение к вопросу, чем опровергает

Догадываешься о чём я? ;)
 
Сверху