Archive for the 'php' Category

Manual de Magento CMS 1.1 en español

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/

Doctrine para torpes

Variables variable en php.

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 :D

Generar una lista de árbol(tree list) html en php : I

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);

?>

Creando un interlineado xhtml desde php

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

errores absurdos de los que me avergüenzo

llevo una semana muy agobiado; por la cantidad de trabajo . Pero también porque tenía que hacer una cosa que en principio era de lo más fácil de implementar.

Una autentificasión en Ldap con Nusoap(una librería para utilizar Soap); porque el server está en php4 (si aún quedan muchas empresas con PHP4) y desde ayer que llevo rompiendome la cabeza con un error.

al final, después cruzar unos emails con los desarrolladores del esrvicio, en EEUU. he podido corregir el error, pero cuando he visto donde estaba el error, no sabía si tirarme por la ventana o dejar esta profesión.

Mi gran error fue: Olvidarme de poner la barrita al final del parametro URI= “http://dominio.com/

espero no ser el único que comete estos errores y tarda más de un día en darse cuenta de la gran metedura de pata :(

The Cache :: una clase para controlar nuestro Zend_Cache File

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($cacheEnabledTMP_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

Vídeo demo :: PHP Intelligence

Integrando GoogleCalendar en aplicaciones PHP

Google Calendar pone al servicio de los desarrolladores su API para poder acceder a contenidos y eventos de los usuarios. Las librerias(calses) SimpleXML y ZendGData son ideales para trabajar con los Fedds XML generados por ésta API(GoogleCalendar) y poder utilizarlos en nuestras aplicaciones PHP.  Este artículo es una introducción a la API de GoogleCalendar, demostramos cómo puede usarlo para moverse por la información generada por el usuario: añadir, actualizar y realizar búsquedas entre los eventos por palabras clave.
Este artículo introduce los datos de Google Calendar API, demuestra cómo puede usarlo para navegar generado por el usuario calendarios, añadir y actualizar calendario de eventos, y realizar búsquedas de palabras clave.

Estándares de codificación para la programación PHP

Enrique Place comentaba(en un post) la situación de estándares de codificación que tenemos en php, y como somos los más anarquistas en este tema.

De ese post, que recomiendo la lectura del PDF con el estilo que propone Zend, me quedo con una frase:

“No eres tan especial como para crear tu propio estándar”

enlace a: Presentación: “Buenas Prácticas de Desarrollo en PHP”

Entradas siguientes »