Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JFeedFactory

Liste de tous les membres

Fonctions membres publiques

 getFeed ($uri)
 registerParser ($tagName, $className, $overwrite=false)

Attributs protégés

 $parsers = array('rss' => 'JFeedParserRss', 'feed' => 'JFeedParserAtom')

Fonctions membres privées

 _fetchFeedParser ($type, XMLReader $reader)

Description détaillée

Définition à la ligne 19 du fichier factory.php.


Documentation des fonctions membres

JFeedFactory::_fetchFeedParser (   $type,
XMLReader  $reader 
)
private

Method to return a new JFeedParser object based on the registered parsers and a given type.

Paramètres:
string$typeThe name of parser to return.
XMLReader$readerThe XMLReader instance for the feed.
Renvoie:
JFeedParser
Depuis:
12.3
Exceptions:
LogicException

Définition à la ligne 115 du fichier factory.php.

{
// Look for a registered parser for the feed type.
if (empty($this->parsers[$type]))
{
throw new LogicException('No registered feed parser for type ' . $type . '.');
}
return new $this->parsers[$type]($reader);
}
JFeedFactory::getFeed (   $uri)

Method to load a URI into the feed reader for parsing.

Paramètres:
string$uriThe URI of the feed to load. Idn uris must be passed already converted to punycode.
Renvoie:
JFeedReader
Depuis:
12.3
Exceptions:
InvalidArgumentException
RuntimeException

Définition à la ligne 38 du fichier factory.php.

{
// Create the XMLReader object.
$reader = new XMLReader;
// Open the URI within the stream reader.
if (!$reader->open($uri, null, LIBXML_NOERROR | LIBXML_ERR_NONE | LIBXML_NOWARNING))
{
throw new RuntimeException('Unable to open the feed.');
}
try
{
// Skip ahead to the root node.
do
{
$reader->read();
}
while ($reader->nodeType !== XMLReader::ELEMENT);
}
catch (Exception $e)
{
throw new RuntimeException('Error reading feed.');
}
// Setup the appopriate feed parser for the feed.
$parser = $this->_fetchFeedParser($reader->name, $reader);
return $parser->parse();
}
JFeedFactory::registerParser (   $tagName,
  $className,
  $overwrite = false 
)

Method to register a JFeedParser class for a given root tag name.

Paramètres:
string$tagNameThe root tag name for which to register the parser class.
string$classNameThe JFeedParser class name to register for a root tag name.
boolean$overwriteTrue to overwrite the parser class if one is already registered.
Renvoie:
JFeedFactory
Depuis:
12.3
Exceptions:
InvalidArgumentException

Définition à la ligne 81 du fichier factory.php.

{
// Verify that the class exists.
if (!class_exists($className))
{
throw new InvalidArgumentException('The feed parser class ' . $className . ' does not exist.');
}
// Validate that the tag name is valid.
if (!preg_match('/\A(?!XML)[a-z][\w0-9-]*/i', $tagName))
{
throw new InvalidArgumentException('The tag name ' . $tagName . ' is not valid.');
}
// Register the given parser class for the tag name if nothing registered or the overwrite flag set.
if (empty($this->parsers[$tagName]) || (bool) $overwrite)
{
$this->parsers[(string) $tagName] = (string) $className;
}
return $this;
}

Documentation des données membres

JFeedFactory::$parsers = array('rss' => 'JFeedParserRss', 'feed' => 'JFeedParserAtom')
protected

Définition à la ligne 25 du fichier factory.php.


La documentation de cette classe a été générée à partir du fichier suivant :