Classe Feed Rss, out php4

Salve a tutti, è da un pò di tempo che non mi facevo vedere da queste parti :D

Ritorno a rompere le scatole con i miei problemi stupidi, allora in pratica ho questa classe che funziona benissimo per il read di feed rss, però è compatibile con php5, sto cercando di metterla a posto per php4 (perchè sul server che ho c'è quello di disponibile) però non riesco a capire perchè la classe non va ...

Questo è il codice di php5

<?php

      class readfeed {
           public $dom;
           public $items = array();

           public function __construct($url, $itemTagName){
                 $dom = new DOMDocument();
                 $feed = file_get_contents($url);
                 $readResult = @$dom->loadXML($feed);
                 if(!$readResult)
                   throw new Exception("Error XML!");


                 $this->dom = $dom;
                 $xpath = new DOMXPath($dom);
                 $xpathQuery = $xpath->query("//$itemTagName");

                 $count = 0;
                 foreach($xpathQuery as $item){
                        $this->items[$count] = new readitem($item); 
                        $count++;
                 }

          }
     }

     class readitem {
          public $itemTags = array();

          public function __construct($itemNode){
                foreach($itemNode->childNodes as $node)
                       $this->itemTags[$node->tagName] = $node->nodeValue;
          }

          public function __get($node){
                return $this->itemTags[$node];
          }

          public function __set($node, $value){
                $this->itemTags[$node] = $value;
          }

   }
   
?>

Mentre questo è il codice riadattato per php4

<?php

     class ReadFeed {
           var $dom;
           var $items = array();

           function readitem($url, $itemTagName){
                 $dom = new DOMDocument();
                 $feed = file_get_contents($url);
                 $readResult = @$dom->loadXML($feed);
                 if(!$readResult)
                   set_error_handler("Error XML!");

                 $this->dom = $dom;
                 $xpath = new DOMXPath($dom);
                 $xpathQuery = $xpath->query("//$itemTagName");

                 $count = 0;
                 foreach($xpathQuery as $item){
                        $this->items[$count] = new readitem($item); 
                        $count++;
                 }

          }
     }

     class readitem {
          var $itemTags = array();

         function readitem($itemNode){
                foreach($itemNode->childNodes as $node)
                       $this->itemTags[$node->tagName] = $node->nodeValue;
          }

          public function __get($node){
                return $this->itemTags[$node];
          }

          public function __set($node, $value){
                $this->itemTags[$node] = $value;
          }

   }

?>
inviato 8 anni fa
DaD
DaD
1
modificato 8 anni fa
X 0 X

Chiedi l'upgrade del server a php5 al più presto, altrimenti cambia hosting; è assurdo che ancora oggi molti fornitori si rifiutino di passare a php5, non fanno altro che creare ulteriori rompicapo agli sviluppatori - come se non ne avessero già abbastanza - e rallentano il progresso.

Sono convinto che troverai hosting migliori, a prezzi più convenienti e che offrono un servizio migliore e che va di paripasso (o quasi) con l'evoluzione delle tecnologie.

Ormai php4 è morto.

Per ulteriori informazioni: http://www.gophp5.org/

Su go php5 dovresti poter trovare anche il template di email da inviare al tuo fornitore per spronarlo ad aggiornare i server. Oppure puoi provare a minacciare di cambiare fornitore se non si adeguano ai servizi che si possono ormai considerare standard.

,Andrea

:bye:

risposto 8 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda