2010-08-27 2 views
0

Я читаю Мастер Joomla! 1,5 книги, и я замечаю в модели Revue имеет такую ​​функцию, чтоЗачем использовать переменную в модели (MVC)?

// 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; 
} 

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

+0

Что такое ревю? – NullUserException

+0

Revue является переменной для объекта таблицы ревю. –

+0

Revue - это глупый способ написать «обзор». Это необходимо в Joomla, поскольку вы не можете использовать слово «вид» во имя класса представления при написании своих пользовательских модулей. – silvo

ответ

2

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

Смежные вопросы