/** * Get program object from language and publish date * @param string $language * @param integer $publishDate * @return VideoPageToolProgram */ public static function newProgram($language, $publishDate) { wfProfileIn(__METHOD__); $program = new self(); $program->setLanguage($language); $program->setPublishDate($publishDate); $memKey = $program->getMemcKey(); $data = $program->wg->Memc->get($memKey); if (is_array($data)) { $program->loadFromCache($data); } else { $result = $program->loadFromDatabase(); if ($result) { $program->invalidateCache(); $program->saveToCache(); } } wfProfileOut(__METHOD__); return $program; }