Зачем использовать переменную в модели (MVC)? - PullRequest
0 голосов
/ 27 августа 2010

Я читаю Мастера Joomla! 1.5 книга, и я заметил, что в модели Revue есть функция, подобная этой

// model
function getRevues() {
  $db =& $this->_db;
  if( empty($this->_revues) ) // ?????
  {
    $query = $this->_buildQuery();
    $limitstart = $this->getState('limitstart');
    $limit = $this->getState('limit');

    $this->_revues = $this->_getLimit($query, $limitstart, $limit);
  }
  return $this->_revues;
}

// view
....
revues =& model->getRevues();

зачем использовать переменную _revues в модели классов? Если я удаляю переменную _revues и переписываю функцию getRevues следующим образом:

function getRevues() {
  $db =& $this->_db;

    $query = $this->_buildQuery();
    $limitstart = $this->getState('limitstart');
    $limit = $this->getState('limit');

    $revues = $this->_getLimit($query, $limitstart, $limit);

  return &$revues;
}

какая разница между 2 функциями?

1 Ответ

2 голосов
/ 27 августа 2010

Во втором случае вы всегда выполняете запрос к базе данных. В первом случае вы кэшируете результаты (в $this->_revues), что может повысить производительность приложения. Таким образом, база данных будет повреждена, только если вы вызовете этот метод в первый раз.

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