Должны ли мы использовать параметры в моделях? - PullRequest
3 голосов
/ 09 января 2012

Я тестирую кое-что из Code Igniter, и я заметил, что воспламенитель кода не позволяет пользователю устанавливать параметры в конструкторе модели.Затем я немного обыскал и обнаружил, что кто-то на самом деле считает бесполезным иметь конструктор в моделях.Почему это так?

Я бы хотел сделать что-то вроде:

$user = new User(123); // 123 = id
$user->getName();

или что-то подобное с моделями.Но теперь выясняется, что нам не следует использовать конструкторы для них.

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

1 Ответ

2 голосов
/ 10 января 2012

Я выбрасываю это из головы, потому что я ничего не знаю о Code Ignitor, но я знаю, почему большинство моделей обычно имеют шаблон без конструктора.

Причина в сериализации и десериализации.Многие языки (например, Vb.net и C #) не допускают сериализации на основе класса с поддержкой конструктора.Потому что при десериализации класса, который был сериализован, ему пришлось бы пройти через конструктор, который невозможен в процессе десериализации, поскольку он не является частью обычного пути кода.

Я предполагаю, что то же самое происходит с кодомИгнитор, они решили удалить конструктор для подобных целей, даже если в PHP есть волшебное пробуждение.

Думаю, это имеет смысл, а вы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...