Comentando el code: Milw0rm Feeder

Bueno como no sabia de que escribiros hoy, y ya hacia unos días que no actualizo las entradas, pensé que seria buena idea idear una "sección" de comentarios sobre codes.

Hoy os traigo un Milw0rm Feeder que encontré por Bl4ck-P0rtal el code en cuestión es:

<?php
#goast BHF

#modules
define('MILW0RM','10:milw0rm.com/rss.php:Milw0rm');

function 
goast_rss($type,$i)
{
 
$type explode(':',$type);

 
$xx file_get_contents('http://'.$type[1]);

 if(
$type[0]>$i){'ERROR:The MAX listing of module '.$type[3].' is set to '.$type[0];}

 
$CRUNCH 0;

 while(
$CRUNCH<=$type[0])
 {
  
$x[0] = explode('</item>',$xx);
  
$x[1] = explode('<item>',$x[0][$CRUNCH]);
  
$x[2] = explode('title',$x[1][1]);
  
$x[3] = explode('link',$x[1][1]);

  
$xtitle substr($x[2][1],1);$xtitle substr($xtitle,0,strlen($xtitle)-2);
  
$xurl substr($x[3][1],1);$xurl substr($xurl,0,strlen($xurl)-2);

  
$out "<a href='$xurl'>$xtitle</a>";

  
$CRUNCH+=1;
  
$data[$CRUNCH] = $out;
 }

 return 
$data[$i];
}

echo 
goast_rss(MILW0RM,1).'<p />';
echo 
goast_rss(MILW0RM,2).'<p />';

?>


Por funcionalidad no hay nada que objetar, el código funciona
A simple vista se entiende que la sintaxis es: goast_rss("url", "numero de entrada");
Por lo que podemos recomendar que, en vez de el numero de entrada se especifique la cantidad de entradas a ver y a partir de cual... algo así goast_rss("url","cantidad", "inicio");

El tema de crearlo como una función, al principio lo vi con malos ojos, pero si tenemos en cuenta que así el code puede ser reutilizado no hay problema alguno.

El tiempo de ejecución es algo elevado: 1.3430 segundos, elevado entiendase en un localhost y un code tan corto.

Como "cosa curiosa" destaco el uso de file_get_contents() para capturar el HTML de la página y no usar el módulo SimpleXML para tratar con la dirección: http://milw0rm.com/rss.php de una forma mas eficaz.

Conclusión: Es un código aceptable, e interesante para practicar las funciones explode() y substr(). Pero en mi opinión podria ser mejor y más simple usando simpleXML