php 5-3, late-static-binding

crocodile2u

http://vbolshov.org.ru
whirlwind
Не все так просто.
Конструкция "$user = new User(); $user->find();" семантически выглядит вывернутой наизнанку. Объект Пользователь является отображением ряда таблицы Пользователь на структуру объектов. (мы не будем говорить сейчас о доменной логике объекта Пользователь). В данной конструкции мы должны сначала создать экземпляр ряда, и затем уже через этот ряд обратиться к таблице, чтобы вернуть опять-таки ряд! Само по себе $user->find(); выглядит немного несуразно: у нас уже есть объект-пользователь, чего еще искать-то?

Конструкция "User::find()" семантически выглядит более правильно: мы отображаем сущность Таблица-Пользователь на Класс-Пользователь, а сущность Ряд-Пользователь - на Объект-Пользователь.
 

whirlwind

TDD infected, paranoid
Если User - это агрегат, то никакой вывернутости. Но, вообще да, это больше дело вкуса. К тому же оффтоп конкретный.

Давайте вернемся к LSB. Кроме AR есть еще примеры, где это можно использовать?
 

crocodile2u

http://vbolshov.org.ru
В принципе, для меня и этого достаточно. Но вообще - потенциально любая коллекция.
 

dr-sm

Новичок
Автор оригинала: whirlwind
Давайте вернемся к LSB. Кроме AR есть еще примеры, где это можно использовать?
говнокод? :D

PS как оказалось на C++ тож можно осуществить подобный изврат ))),
хрен с ним, пусть будет, только полезность весма сомнительна.
 

Vidmich

Новичок
Имхо, если с функциями девелоперы пхп сделали нормально, то с переменными они явно напортачили. Кидай этот код им как баг...
 
Сверху