¡Últimos días para inscribirse al curso Zend Framework de Junio 2010!

Por zsamer en Mayo 27, 2010

Últimas semanas para inscribirse al curso Introducción a ZendFramework (7ta edición) que está iniciando el próximo lunes 14/Junio. Tiene un costo único de USD 60 y una duración de 8 semanas.

Importante: el lunes temprano haremos una evaluación de los pagos confirmados de los alumnos, si existieran muchos atrasos, la fecha de inicio se postergará una semana más hasta el lunes 21 de Junio (les avisaremos oportunamente por email a todos los alumnos).

Si no eres un alumno registrado, debes hacerlo en registracion.surforce.com, luego de habilitado tu usuario podrás hacer la compra del curso a través de usuarios.surforce.com, usando mecanismos como Paypal, Western Union o transferencia bancaria (este último solo para Argentina).

Los esperamos, ¡No pierdas tú lugar!

¡Últimos días para inscribirse al curso Zend Framework de Abril 2010!

Por zsamer en Abril 2, 2010

Última semana para hacer el pago del curso Introducción a ZendFramework (6ta edición) que está iniciando el próximo lunes 12/Abril. Tiene un costo único de USD 60 y una duración de 2 meses, última fecha para pagar viernes 9/Abril!.

Importante: el lunes temprano haremos una evaluación de los pagos confirmados de los alumnos, si existieran muchos atrasos, la fecha de inicio se postergará una semana más hasta el lunes 19 de Abril (les avisaremos oportunamente por email a todos los alumnos).

Si no eres un alumno registrado, debes hacerlo en registracion.surforce.com, luego de habilitado tu usuario podrás hacer la compra del curso a través de usuarios.surforce.com, usando mecanismos como Paypal, Western Union o transferencia bancaria (este último solo para Argentina).

Los esperamos, ¡No pierdas tú lugar!

¡Iniciamos curso Zend Framework Febrero 2010!

Por zsamer en Enero 24, 2010

Damos oficialmente el anuncio de apertura de inscripciones del curso Introducción a Zend Framework (5ta edición) que iniciará el 1ro de Febrero de 2010!

‘Cursos Abiertos’ <> ‘Cursos Intensivos’

Les comento que los ‘cursos abiertos’ se van armando de forma libre a medida que los alumnos se van registrando. Si sobre la fecha de inicio del curso no se llegó al cupo mínimo de 10 alumnos, se postergará una semana el inicio del curso. En caso de superar el máximo de 20 alumnos, se abrirá un único segundo grupo a la semana siguiente. El próximo período de cursos se abrirán recién a partir de Marzo 2010 (fecha a confirmar).

Todos los cursos tienen una duración promedio de 2 meses, pero existe la posibilidad de armar grupos INTENSIVOS y REDUCIDOS de 1 mes de duración (a un costo mayor).

¡Promoción!

Es de público conocimiento que hace 3 años que los precios de los cursos se han mantenido invariables, por lo que este año aumentarán los ‘cursos abiertos’ de USD 50 a USD 60. Pero, a modo de promoción, quienes se inscriban durante esta semana (plazo hasta el domingo 24/1), lo podrán hacer a precio congelado! (luego no se aceptarán reclamos ;-)).

¡No pierdas tú lugar! Accede a usuarios.surforce.com e ingresa a la sección COMPRAR.

Toda la información sobre los cursos en surforce.com


Saludos! ;-)

Doctrine 2 ORM en Zend Framewok: parte II

Por zsamer en Noviembre 23, 2009

Continuando con nuestro articulo anterior Doctrine 2 ORM en Zend Framewok: parte I, en esta oportunidad quiero compartir unos tips de como integrar ORM Doctrine 2 con Zend Framework, para ello va ser necesario haber leido también el articulo sobre Bootstrapping con Zend Application, que será nuestra base para la integración.

Lo primero que tenemos que hacer es descargar Doctrine 2 (actualmente 2.0.0-ALPHA3), descomprimir en la carpeta "library" del proyecto Zend y luego agregar en application.ini las siguientes lineas:

CODE:
  1. autoloaderNamespaces.doctrine = "Doctrine"
  2. autoloaderNamespaces.proxies = "Proxies"

Con esto agregamos las librerías de Doctrine 2 en el Include Path de PHP.

Lo segundo que tenemos que hacer es crear un método _init en la clase Boostrap, a éste método le llamaremos _initDoctrine, obviamente ;-)

PHP:
  1. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  2. {
  3.     protected function _initDoctrine() {
  4.         $config = new Configuration();
  5.         $cache = new ApcCache();
  6.         $config->setMetadataCacheImpl($cache);
  7.         $config->setQueryCacheImpl($cache);
  8.  
  9.         $config->setProxyDir(APPLICATION_PATH . "/../library" . DIRECTORY_SEPARATOR.'Proxies');
  10.         $config->setProxyNamespace('Proxies');
  11.        
  12.         $connPDO = array();
  13.  
  14.         $this->bootstrap('db');
  15.         $connPDO['pdo'] = $this->getResource('db')->getConnection();
  16.  
  17.         $conn = DriverManager::getConnection($connPDO, $config);
  18.         $em = EntityManager::create($conn, $config);
  19.  
  20.         Zend_Registry::set('em', $em);
  21.         return $em;
  22.     }
  23. }

Podemos observar que hace uso de namespace incluido en la versión 5.3 de PHP, también observamos que se hace uso de la conexión a la base de datos de Zend Db ($this->bootstrap('db')), configurado en "application.ini", obtenemos el objeto PDO de conexión y se lo entregamos al DriverManager de Doctrine 2 ;-) todo muy elegante ¿no?, finalmente lo guardamos en el Zend_Registry.
Lee el resto de este artículo »

¡Semana próxima: Segundo Semestre de Cursos a Distancia!

Por zsamer en Junio 6, 2009

A partir del lunes próximo iniciamos el armado de grupos y cobro de las reservas para los cursos del segundo semestre del año:

Tentativamente la fecha de inicio es el primer lunes de Julio 2009, con los grupos que se hayan armando a partir de los usuarios que realizaron su pago. El cupo mínimo de alumnos será de 20 por grupo y se irá iniciando un grupo por semana, en caso de no llegar a los cupos mínimos, se posterga una semana.

El costo sigue siendo el mismo, un único pago de USD 50 por persona durante dos meses, y la forma de pago oficial es a través de Paypal y la alternativa a través de Western Union (solo si estás en Argentina podemos hacer una transferencia bancaria).

AVISO IMPORTANTE: para este nuevo período se abrirán menos grupos que en el primer período, principalmente por un tema de sobrecarga de trabajo que tuvimos en el primer semestre de este año, y que quiero evitar que nos atrasemos con algún grupo o que los docentes terminemos extremadamente cansados :-(

Si estás interesado, no pierdas un lugar a partir del próximo lunes, donde habilitaré el pago de los cursos y empezaré a armar los grupos que inician por semana.

Si aún no estás registrado en SURFORCE, ingresa TUS DATOS REALES (incluyendo la foto) en http://registracion.surforce.com (los datos son privados y confidenciales, sin ellos, no voy a enviar datos de pago ni habilitar alumnos bajo seudónimos ni nombres fantasía).

Los cursos se dictarán a través de Moodle (sistema de educación a distancia) en la dirección http://formacion.surforce.com

Saludos!

E-commerce con Zend Framework: Factoría

Por zsamer en Febrero 9, 2009

En el capitulo anterior "E-commerce con Zend Framework: Introducción" como el nombre lo dice, hicimos una introducción al desarrollo y diseño de un sistema de E-commerce con Zend Framework y describimos cada uno de sus componentes y funciones dentro de la aplicación. En esta oportunidad vamos a ver la función de la clase de factoría: CartFactory.

Antes de entrar en lleno a nuestra clase factory, veamos en que consiste el patrón de diseño que la implementa. El patrón de diseño involucrado es el llamado Factory Method.

Bueno y ¿Qué es un patrón de diseño?

En la ingeniería de software, existe algo fundamental para el diseño y buenas practicas en la programación orientada a objetos "Los patrones de diseños". Estos se definen como la mejor solución a un problema recurrente y común en el desarrollo de software en un contexto determinado y van de la mano con su representación en diagramas UML.

En el patrón de diseño Factory Method está compuesta al menos por dos clases que son fundamentales, y estas son el creador y el producto.

El patrón de diseño Factory en simples palabras es una fabrica de objetos, nos crea el objeto que deseamos tener y lo retorna para su uso, toda la implementación se concentra en una clase, comúnmente llamada Factory (clase de factoría o fabrica), en otras palabras es una clase constructora de objetos de un determinado tipo.
Lee el resto de este artículo »

E-commerce con Zend Framework: Introducción

Por zsamer en Febrero 2, 2009

En nuestro primer capitulo de E-commerce con Zend Framework, vamos a resumir un poco de que tratará nuestro sencillo sistema de comercio electrónico y sus componentes. Antes de comenzar quería dar una definición de e-commerce según wikipedia:

"El e-commerce (del anglicismo Electronic Commerce) consiste en comprar y vender productos o servicios a través de sistemas electrónicos como Internet y otras redes computacionales. El intercambio conducido electrónicamente ha crecido de manera espectacular desde la masificación de Internet. Una gran variedad de comercio es conducido de esta manera, estimulando y aprovechando las innovaciones en transferencias financieras, gestión de cadenas de suministros, transacciones en línea, intercambio electrónico de datos (EDI), sistemas de gestión de inventarios, etc. El comercio electrónico moderno usualmente se vale de la WWW (World Wide Web) en algún punto del ciclo de la transacción, aunque puede incluir otras tecnologías como el correo electrónico."

Si aún estas interesado en como implementar un sistema de E-commerce con Zend Framework, entonces continua leyendo.
Lee el resto de este artículo »

Crear un CRUD o ABM con Zend Framework

Por zsamer en Noviembre 24, 2008

En este artículo veremos como agregar/eliminar/modificar datos de una base de datos utilizando Zend_Db_Table.

En informática CRUD es el acrónimo de Crear, Obtener, Actualizar y Borrar (Create, Read, Update y Delete en inglés). Es usado para referirse a las funciones básicas en bases de datos o la capa de persistencia en un sistema de software. En algunos lugares, se utilizan las siglas ABM para lo mismo (Alta Baja Modificación), obviando la operación de Obtener. A veces se nombra ABML siendo la ultima letra (L) de listar, listado o lectura, etc.

Crear una Tabla

Vamos a utilizar MySQL, así que las sentencias SQL para crear la tabla son:
Lee el resto de este artículo »

Estructura Modular de Directorios

Por zsamer en Mayo 10, 2008

La semana pasada escribí un articulo sobre un Sitema de Login el cual continuaba con la linea del set de artículos Comenzando con Zend Framework con el fin de complementar la introducción y comenzar a utilizar todo el potencial del Framework implementando Autenticación de Usuarios. En aquel post vimos cómo crear un escenario simple en el que creamos un sitio que permitía al usuario hacer sesión para poder escribir comentarios. Cubrimos los conceptos de alto nivel que hay detrás de MVC junto con un practico ejemplo de lógica de negocio de autenticación.

En el post de hoy vamos a hacer un refactoring de nuestra aplicación de manera que tengamos una estructura modular de los controladores permitiendo organizar de mejor forma nuestro sistema.

La estructura de directorio modular permite separar diferentes MVC en aplicaciones individuales y re-usar estas con diferentes Front Controllers.

Para ilustrar la estructura de directorios:
Figura Nº1
Estructura Modular de Directorios

 

Lee el resto de este artículo »