本文整理汇总了PHP中Zend\Feed\Reader\Reader::detectType方法的典型用法代码示例。如果您正苦于以下问题:PHP Reader::detectType方法的具体用法?PHP Reader::detectType怎么用?PHP Reader::detectType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Feed\Reader\Reader
的用法示例。
在下文中一共展示了Reader::detectType方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: isFeed
/**
* Returns if the provided $content_type is a feed.
*
* @param string $document
* The actual HTML or XML document from the HTTP request.
*
* @return bool
* Returns true if this is a parsable feed, false if not.
*/
public static function isFeed($data)
{
Reader::setExtensionManager(\Drupal::service('feed.bridge.reader'));
try {
$feed_type = Reader::detectType($data);
} catch (\Exception $e) {
return FALSE;
}
return $feed_type != Reader::TYPE_ANY;
}
示例2: __construct
/**
* Constructor
*
* @param DOMElement $entry
* @param int $entryKey
* @param null|string $type
*/
public function __construct(DOMElement $entry, $entryKey, $type = null)
{
$this->entry = $entry;
$this->entryKey = $entryKey;
$this->domDocument = $entry->ownerDocument;
if ($type !== null) {
$this->data['type'] = $type;
} else {
$this->data['type'] = Reader::detectType($entry);
}
$this->_loadExtensions();
}
示例3: __construct
/**
* Constructor
*
* @param DomDocument $domDocument The DOM object for the feed's XML
* @param string $type Feed type
*/
public function __construct(DOMDocument $domDocument, $type = null)
{
$this->domDocument = $domDocument;
$this->xpath = new DOMXPath($this->domDocument);
if ($type !== null) {
$this->data['type'] = $type;
} else {
$this->data['type'] = Reader::detectType($this->domDocument);
}
$this->registerNamespaces();
$this->indexEntries();
$this->loadExtensions();
}
示例4: __construct
/**
* Constructor
*
* @param Zend_Feed_Abstract $feed The source Zend_Feed object
* @param string $type Feed type
* @return void
*/
public function __construct(\DomDocument $dom, $type = null, \DOMXPath $xpath = null)
{
$this->_domDocument = $dom;
if ($type !== null) {
$this->_data['type'] = $type;
} else {
$this->_data['type'] = Reader\Reader::detectType($dom);
}
if ($xpath !== null) {
$this->_xpath = $xpath;
} else {
$this->_xpath = new \DOMXPath($this->_domDocument);
}
$this->_registerNamespaces();
}
示例5: __construct
/**
* Constructor
*
* @param Zend_Feed_Entry_Abstract $entry
* @param int $entryKey
* @param string $type
* @return void
*/
public function __construct(\DOMElement $entry, $entryKey, $type = null)
{
$this->_entry = $entry;
$this->_entryKey = $entryKey;
$this->_domDocument = $entry->ownerDocument;
if ($type !== null) {
$this->_data['type'] = $type;
} else {
$this->_data['type'] = Reader\Reader::detectType($entry->ownerDocument, true);
}
// set the XPath query prefix for the entry being queried
if ($this->getType() == Reader\Reader::TYPE_RSS_10 || $this->getType() == Reader\Reader::TYPE_RSS_090) {
$this->setXpathPrefix('//rss:item[' . ($this->_entryKey + 1) . ']');
} elseif ($this->getType() == Reader\Reader::TYPE_ATOM_10 || $this->getType() == Reader\Reader::TYPE_ATOM_03) {
$this->setXpathPrefix('//atom:entry[' . ($this->_entryKey + 1) . ']');
} else {
$this->setXpathPrefix('//item[' . ($this->_entryKey + 1) . ']');
}
}
示例6:
/**
* @group ZF-9723
*/
public function testDetectsTypeFromStringOrToRemindPaddyAboutForgettingATestWhichLetsAStupidTypoSurviveUnnoticedForMonths()
{
$feed = '<?xml version="1.0" encoding="utf-8" ?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/"><channel></channel></rdf:RDF>';
$type = Reader\Reader::detectType($feed);
$this->assertEquals(Reader\Reader::TYPE_RSS_10, $type);
}
示例7: getType
/**
* Get the entry type
*
* @return string
*/
public function getType()
{
$type = $this->data['type'];
if ($type === null) {
$type = Reader\Reader::detectType($this->getEntryElement(), true);
$this->setType($type);
}
return $type;
}
示例8: getType
/**
* Get the feed type
*
* If null, it will attempt to autodetect the type.
*
* @return string
*/
public function getType()
{
$type = $this->data['type'];
if (null === $type) {
$type = Reader\Reader::detectType($this->getDomDocument());
$this->setType($type);
}
return $type;
}
示例9: testImportRemoteFeedMethodPerformsAsExpected
public function testImportRemoteFeedMethodPerformsAsExpected()
{
$uri = 'http://example.com/feeds/reader.xml';
$feedContents = file_get_contents($this->feedSamplePath . '/Reader/rss20.xml');
$response = $this->getMock('Zend\\Feed\\Reader\\Http\\ResponseInterface', array('getStatusCode', 'getBody'));
$response->expects($this->once())->method('getStatusCode')->will($this->returnValue(200));
$response->expects($this->once())->method('getBody')->will($this->returnValue($feedContents));
$client = $this->getMock('Zend\\Feed\\Reader\\Http\\ClientInterface', array('get'));
$client->expects($this->once())->method('get')->with($this->equalTo($uri))->will($this->returnValue($response));
$feed = Reader\Reader::importRemoteFeed($uri, $client);
$this->assertInstanceOf('Zend\\Feed\\Reader\\Feed\\FeedInterface', $feed);
$type = Reader\Reader::detectType($feed);
$this->assertEquals(Reader\Reader::TYPE_RSS_20, $type);
}