March 9th, 2009 Category: Oracle php5 Uncategorized
12 Comments »
Este ultimo tiempo estuve bastante ocupado cerrando algunos proyectos por eso la falta de post en el blog.
El proyecto que mas me ocupo mi tiempo es Personal Book que desarrollamos en Easytech. Basicamente PBOOK es un sistema de ventas de libro online, con el agregado que podes agregarle una dedicatoria a cualquier libro que compres. Atras de este proyecto esta una de las empresas grandes de Chile, Dimacofi.
Despues de viajar a Chile para ultimar detalles sobre el cierre del proyecto, hoy por fin se hace publica la pagina para que cualquier Chileno (por ahora), pueda comprar libros de forma online, sin la necesidad de depender de un stock y sin moverse de su casa.
Para el proyecto se decidio usar Drupal para el manejo del sitio, y los contenidos y Zend Framework para todo el resto. Se uso 2 motores de base de datos, mysql para Drupal, y Oracle XE para el resto.
El sitio cuenta con varios subsistemas, que se comunican entre si a traves de colas de ActiveMQ, un sistema de colas de la gente de Apache Software Foundation, el cual nos resulto excelente para esta funcion.
Si tienen la oportunidad naveguen el sitio y vean como pueden trabajar en perfecta armonia Zend Framework y Drupal .
site: www.personalbook.cl
October 27th, 2008 Category: php5
4 Comments »
Comparto esta funcion para generar claves aleatorias. Es facil de usar y de entender.
{
$consonants .= '@#$%';
}
$password = '';
$alt = time() % 2;
for ($i = 0; $i < $length; $i++) {
if ($alt == 1) {
$password .= $consonants[(rand() % strlen($consonants))];
$alt = 0;
} else {
$password .= $vowels[(rand() % strlen($vowels))];
$alt = 1;
}
}
return $password;
}
?>
September 26th, 2008 Category: php5 Zend
2 Comments »
Cuando venis codeando durante mucho tiempo de una forma, respetando esos estandares que leiste por ahi, o que te parecio mejor implementar, o simplemente en tu trabajo te dijeron es asi, te acostumbras y mucho. Por eso me parecio excelente la herramienta para formatear codigo en Zend Studio for eclipse.
No se si PDT, u otros eclipses lo tienen, pero en ZSE anda muy bien, y tiene como atajo, ctrl + shift + f.
La idea es la siguiente, creas desde el menu vas a windows->preferences…->PHP->Formatter. Ahi vas a tener la siguiente info.
Aca tenemos una vista previa de como quedaria nuestro codigo si aplicamos el formato de codigo. Por default ZSE no elige como default el profile de Zend Framework, pero podemos activarlo seleccionandolo desde active profile, una vez seleccionado Apply, Ok, y ctrl + shift + f, y vamos a poder formatear nuestro codigo bajo la convencion de Zend
Ademas como herramienta extra podemos editar y crear nuestras propias convenciones, exportar e importar las configuraciones, a xml.
Hay algunas cosas que no me gustaba como quedaban y decidi editarlas, para hacerlas mas claras. Por ejemplo, con la configuracion default de Zend Framework cada vez que escribo un metodo, funcion, o cualquier cosa que lleve parentesis, todo el contenido me lo deja pegado, y a mi me gusta que le deje un espacio, lo mismo para el igual y dentro de los corchetes. Esto y algunas cositas mas, y ahora quedo casi perfecto.
Comparto con ustedes el xml, si lo mejoran me avisan.
Descarga | code_convenction.xml
September 25th, 2008 Category: codigo php5
1 Comment »
Supongamos que tenemos un array con los indices separados por underscore “_”, y necesitamos transformar esos indices a camelCase, esto puede surgir por la necesidad que los nombres de nuestro codigo sigan el standar de la gente de Zend, cuando obtenemos un array de la base de datos, esos datos vienen con la normalizacion de la base, que generalmente es CAMEL_CASE, esto es un problema porque cuando queramos leer los datos de esa tabla tenemos que hacer algo como $row['CAMEL_CASE'], y no va con nuestro “Standar de buenas practicas”, si es por este motivo o algun otro podes usar esta funcion que transforma los indicies de CAMEL_CASE a camelCase. Es la forma mas optima que encontre, si alguno puede aportar algo mejor, podemos optimizarla mas, y conseguir mejores resultados.
$value ) {
$key = str_replace( ' ', '', ucwords( preg_replace('/[^A-Z^a-z^0-9]+/', ' ', $originalKey )));
$key[0] = strtolower($key[0]);
$camelCaseArray[ $key ] = $value;
}
return $camelCaseArray;
}
}
?>
y la usamos de la siguiente forma
'Nestor', 'LAST_NAME' => 'Kirchner');
$rowNormalized = Me_Utils_Array::keyArrayToCamelCase( $row );
print_r( $rowNormalized );
// Array ( [firstName] => Nestor [lastName] => Kirchner )
?>
September 16th, 2008 Category: php5 Zend
1 Comment »
Matthew Weier O’Phinney realizo esta doc, con la intencion de establecer un standar unico para los desarrolladores de PHP, no solo en el codigo sino en la forma de trabajar.
Es hora de que los que trabajamos en PHP emepezemos a darle importancia a este tipo de documentos.
August 8th, 2008 Category: php5 Programacion
No Comments »
En un post anterior Santiago hablaba sobre la Programacion Orientada a Aspectos (AOP), Sebastian Bergmann nos habla un poco de este paradigma en la siguiente presentación, y nos muestra como se debería implementar con unos ejemplos.
July 30th, 2008 Category: php5
5 Comments »
Para demostrar que no solo hablamos de Zend, voy a dejarles un manual, de Symfony, dicho por muchos, el mejor Framework para PHP.
July 25th, 2008 Category: php5 Zend
No Comments »
Se que esto puede resultar muy complejo.
PHP Documentor es una herramienta, que sigue ciertos standars para generar documentacion de nuestro codigo. Para mas info aca hay un manual para el uso de PHP Documentor.
Si nosotros queremos generar codigo desde Zend Studio for eclipse de nuestras aplicaciones. Tenemos que seguir los siguientes pasos.
1- Seleccionar el proyecto, y hacer click derecho. Y hacemos click en Generate PHPDoc…
2- Esto nos va a mostrar una pantalla de configuracion donde vamos a elegir que partes de nuestro sistema, queremos que nos documente, por ejemplo si nosotros trabajamos con Zend Framework no vamos a querer que nos documente las librerias de Zend.
3- Configuramos donde y como va a generar la documentacion
4- Ahora hacemos click en finalizar, y esperamos que termine de generar todo.
Cuando termine la operacion, nos va a aparcer una vista del codigo html generado, desde el mismo Zend Studio.
July 24th, 2008 Category: linux php5
6 Comments »
Hay varias funciones y librerías dando vueltas por Internet para manipular la resolucion de imagenes con PHP. Hay algo mas facil que usar estas librerias y es a traves del comando convert. Este comando nos permite manipular imagenes y videos desde el shell de linux.
Para cambiar la resolucion de una imagen que originalmente tiene 1280×1024 a 120×100 solo tendriamos que ejecutar desde el shell la siguiente linea.
$ convert -resize 120×100 archivo_original.jpg archivo_resultante.jpg
En el directorio vamos a ver un archivo nuevo llamado “archivo_resultante.jpg”, el cual va a tener una resolucion de 120×100.
Esto es util cuando sabemos que no vamos a necesitar cargar imagenes mas grandes que esa, o queremos generar thumbnails de nuestras fotos.
Si esto lo queremos ejecutar desde php solo tenemos que usar el comando system de php.
Un codigo de ejemplo utilizando esta funcion seria el siguiente.
July 17th, 2008 Category: php5
6 Comments »
Hay caso que nuestro metodo necesitamos que devuelva mas de un valor (esto no deberia ser siempre, ya que un metodo solo hace una cosa y no mas). Esto generalmente se resuelve devolviendo un array. Pero hay otra forma un poco mas clara fuera de la clase, y esto es recibiendo los parametros en una lista, el metodo nos va a devolver un array pero el que recibe los datos va a devolverlo en variables, usando la funcion List.
por ejemplo:








