/** * Tests the parsing of sort expressions from their string * representations. */ public function testParsingFromString() { $sort = GaDataSortOrder::createFromString('ga:foo,ga:bar'); $this->assertEquals('ga:foo,ga:bar', (string) $sort); $sort = GaDataSortOrder::createFromString('foo,-bar'); $this->assertEquals('ga:foo,-ga:bar', (string) $sort); $sort->addField('baz'); $this->assertEquals('ga:foo,-ga:bar,ga:baz', (string) $sort); }
/** * Sets the sort order for the data to be returned from the query, either * as a formatted (comma-delimited) string, an array of sort order * component strings, or a Google\Analytics\GaDataSort instance. * * @param string, array, Google\Analytics\GaDataSortOrder $sort */ public function setSort($sort) { if (is_string($sort)) { $sort = GaDataSortOrder::createFromString($sort); } elseif (is_array($sort)) { $sort = GaDataSortOrder::createFromString(implode(',', $sort)); } elseif (!is_object($sort) || !$sort instanceof GaDataSortOrder) { throw new InvalidArgumentException('Sort orders must be provided as formatted strings, arrays, ' . 'or ' . __NAMESPACE__ . '\\GaDataSortOrder instances.'); } $this->_sort = $sort; }