Si ha utilizado Zend_Feed, sabrá que la obtención de algo tan sencillo, como el contenido, o una fecha de creación, es una tarea que requiere un poco de trabajo. La alimentación vienen en tres formas diferentes: RSS, RDF / RSS y Atom, todos con múltiples versiones. Cada uno tiene su propia manera de presentar la información…
$feed = Zend_Feed_Reader::import('http://www.planet-php.net/rdf/');
$data = array(
'title' => $feed->getTitle(),
'link' => $feed->getLink(),
'dateModified' => $feed->getDateModified(),
'description' => $feed->getDescription(),
'language' => $feed->getLanguage(),
'entries' => array(),
);
foreach ($feed as $entry) {
$edata = array(
'title' => $entry->getTitle(),
'description' => $entry->getDescription(),
'dateModified' => $entry->getDateModified(),
'author' => $entry->getAuthor(),
'link' => $entry->getLink(),
'content' => $entry->getContent()
);
$data['entries'][] = $edata;
}
Enlace: Zend_Feed_Reader promoted to Zend Framework trunk (watch out for ZF 1.9!)
Bueno; gracias a la traducción de David Parloir he podido crear un archivo PDF descargable y visible online para poder ponerme al día con Magento y poder ver bien el funcionamiento de esta gran aplicación
Manual de Magento CMS 1.1 en español (pinchar aquí para ver)
Para poder ver las traducciones online en la web del autor: http://www.dowhiletrue.net/blog/index.php/magento/
Por alguna razón, en determinados momentos necesitamos llamar a una variable o función que tiene el nombre que nos llega desde una base de datos(xml, txt, mysql, ….)
Para las variables, php nos ofrece “$$namevar” que llama a la variable con el nombre del valor de ‘namevar’:
$mujer = “sex”;
$el_nombre_de_la_variable = ‘mujer’;
var_dump($$el_nombre_de_la_variable)// la salida será: “sex”
Todos sabemos que en php las variables no pueden empezar con un numero; pues bien, para esto se pueden utilizar “{}”:
$name_var = ‘1234′;
$$name_var = ‘los números’;
echo ${’1234′}//la salida será, “los números”
Para las funciones es algo mucho más fácil; solo tendremos que crear una variable string con el nombre de la duncion que queremos llamar:
$function love()
{
echo ‘lot many’;
}
$f = ‘love’;
$f();//con esto estaríamos llamando a la función love();
Si tienen alguna recomendación o ven que algo de esto no es recomendable; por favor comentenlo ![]()
En esta primera parte voy a generar una lista de árbol desde un array() que me he inventado, a modo de ejemplo; en la siguiente lo haré desde una base de datos; que es más fácil aún.
Por ahora para poder ver técnica nos vale; así será mucho más sencillo de comprender.
Lo primero es crear nuestra tabla de datos; una table que necesita de un requisitos; tener dos llaves. La primera llave será el Id del padre, el segundo será el Id de la variable o hijo.
$lista[idPadre][id]
Luego necesitamos una función recursiva que nos cree la lista; pero a esta función habrá que pasarle un parámetro, para decirle a partir de donde necesita crear el árbol(tree).
pego el código; y así lo podréis ver mejor:
<!– @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } –>
<?php
$lista=array();
$lista['0']['1']=‘parque’;
$lista['0']['2']=‘colegio’;
$lista['0']['3']=‘casa’;
$lista['1']['4']=‘cosas’;
$lista['1']['5']=‘gente’;
$lista['1']['6']=‘plantas’;
$lista['2']['7']=‘mesa’;
$lista['2']['8']=’silla’;
$lista['2']['9']=‘jardin’;
$lista['3']['10']=‘profe’;
$lista['3']['11']=‘gamberro’;
$lista['3']['12']=‘lapiz’;
$lista['6']['13']=‘árbol’;
$lista['6']['14']=‘flor’;
$lista['6']['15']=‘agua’;
$lista['9']['16']=‘jasmin’;
$lista['9']['17']=‘lirios’;
$lista['5']['18']=‘pedro’;
$lista['5']['19']=‘maría’;
function generaArbol($idPadre, &$lista)
{
if(!isset($lista[$idPadre])){
return ”;
}
$level = $lista[$idPadre];
$out = ‘<ul>’;
foreach($level as $k=>$v){
$out .= ‘<li>’;
$out .= $v;
$out .= generaArbol((string)$k, $lista);
$out .= ‘</li>’;
}
$out .= ‘</ul>’;
return $out;
}
echo generaArbol(‘0′, $lista);
?>
Uno de las cosignas en el mundo de la programación, que más he escuchado en el trabajo es:
“hay mil maneras de programar; pero solo una es la buena”
cuando escucho eso me aterroriso; porque nunca sé si lo hago bien o mal. Usí que hoy voy a explicar una cosa sencilla, pero que he visto muchas maneras de hacer.
Código que utilizo con frecuencia para hacer un interlineado html desde php:
<?php $clases=array(‘uno’, ‘dos’, ‘tres’); ?>
<style>
.uno td{background-color:#ccc}
.dos td{background-color:#0fc}
.tres td{background-color:#999}
</style>
<table>
<?php for($i=0, $line=0; $i < 50; $i++, $line==3?$line=0:$line++): ?>
<tr class=“<?php echo $clases[$line]; ?>“>
<td> hola</td>
</tr>
<?php endfor; ?>
</table>
la variable $line es la que marca el tiempo de ciclo del interlineado; puede que no sea un código demasiado “elegante” pero creo que es de fácil comprensión para cualquiera
Akra’s ha escrito una clase bastante sencilla y muy útil para poder utilizar Zend_Cache File.
ejemplo de uso:
$cacheEnabled = (bool)getenv('THE_CACHE_ENABLED') ? getenv('THE_CACHE_ENABLED') : false; TheCache::init($cacheEnabled, TMP_DIR.'/the-cache/'); $keyName = 'data-z-a-b'; // unique name describing this data set $data = TheCache::load($keyName) if($data === false) { $sql = 'SELECT x,y FROM z WHERE a=b'; $rs = $db->Execute($sql); $data = $rs->GetArray(); TheCache::save($keyName, $data); } Enlace a TheCache
un tutorial bastante introductorio para crear una aplicación con ZendFramework.
enlace: http://es.wikibooks.org/wiki/Zend_Framework/Configuracion_Basica
En Zend Developer Zone han escrito un excelente tutorial para crear una aplicación de escritorio, en Air, para subir imágenes a nuestro servidor con un simple drag & drop (arrastrar y soltar en la ventanita de la aplicación).
En el tutorial podéis ver todo el código, de Air como PHP.
Enlace: Desktop Image Uploaders Using Adobe AIR and JavaScript
enlace:
tiene varios ejemplos y casos de uso; muy útil para quien todavía no a utilizado esta clase