MVC Model get () и set () против прямой $ model-> var = val - PullRequest
2 голосов
/ 07 января 2010

Когда самое время использовать функции для установки переменных внутри моих моделей, стих просто назначает их напрямую?

AKA ...

Когда я использую:

$model->set('status','active');

... вместо:

$model->status = 'active';

Ответы [ 2 ]

2 голосов
/ 07 января 2010

использование методов получения и установки хорошо для инкапсуляции кода. Всегда полезно использовать их.

Подумайте об этом:

  • Что если в вашей модели есть переменные, которые вы не хотите, чтобы их можно было прочитать или изменить (или оба)?
  • Что если вам когда-нибудь понадобится что-то сделать, кроме как получить и установить переменную? (например, санация данных)?
0 голосов
/ 07 января 2010

Если вы используете последнюю версию PHP (5.x), вы можете получить лучшее из обоих миров с помощью магических методов __get() и __set(). (ссылка на PHP) . Любой доступ к неопределенному свойству будет автоматически направлен в соответствующую функцию get / set.

Я должен сообщить администратору, что не уверен, действительно ли это хорошая идея для использования или нет, но это похоже на достойное соответствие базовому классу модели в системе MVC.

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