/** * Map SerializableSerpPage to an easy serializable SerpPage. * The serialization format is resolved at runtime. * @param SerializableSerpPage $serializablePage * @param string $format * @param array $entries * @return SerpPageJSON|SerpPageXML|SerpPageYML */ private function prepareForSerialization($serializablePage, $format, $entries) { $engine = $serializablePage->getEngine(); $keyword = $serializablePage->getKeyword(); $pageUrl = $serializablePage->getPageUrl(); $pageNumber = $serializablePage->getPageNumber(); $age = $serializablePage->getAge(); return self::getFormatClassName($format, array($engine, $pageNumber, $pageUrl, $keyword, $age, $entries)); }
/** * Extract relevant data from a SerializableSerpPage. * @param SerializableSerpPage $serializablePage * @return array */ public static function extractSerializablePageData($serializablePage) { $keyword = $serializablePage->getKeyword(); $pageNumber = $serializablePage->getPageNumber(); $age = $serializablePage->getAge()->format('Y-m-d'); return array($keyword, $pageNumber, $age); }