¡Iniciamos curso Zend Framework Febrero 2010!
Por zsamer en Enero 24, 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: Enterprise Persistence Layer for PHP 5.3
Por zsamer en Noviembre 24, 2009
Quería compartir con ustedes una presentación muy buena sobre Doctrine 2 y las grandes ventajas que tiene respecto a sus otras versiones como la 1.2, resumiendo:
- Es mucho más rápido, 30% menos en uso de memoria
- 100% desacoplado
- Las clases de entidades no necesitan heredan de ninguna otra clase como en la 1.2 que obliga la herencia de Doctrine_Record, entidades mucho más desacopladas y reutilizables.
- NO nos impone otros métodos, propiedades, y otras basura en nuestro modelo de objetos de dominio o clases de entidades (En java se les conocen como POJO, DTO o Entity), ídem lo anterior, mucho más limpias y reutilizables
- Desarrollado completamente en PHP5.3, el futuro de PHP y desarrollo de aplicaciones empresariales
- Uso de namespace
- Toma lo mejor de los ORM de Java, está basado en Hibernate y EntityManager y JPA (Java Persistence API )
- Mucho más elegante, con estándares y buenas prácticas OOP e implementación de patrones de diseños
- y muchas otras
Les dejo la presentación de Jonathan Wage (miembro del equipo de desarrollo de Doctrine 2), muy recomendado, lo que si está en ingles
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:
-
autoloaderNamespaces.doctrine = "Doctrine"
-
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
-
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
-
{
-
protected function _initDoctrine() {
-
$config = new Configuration();
-
$cache = new ApcCache();
-
$config->setMetadataCacheImpl($cache);
-
$config->setQueryCacheImpl($cache);
-
-
$config->setProxyDir(APPLICATION_PATH . "/../library" . DIRECTORY_SEPARATOR.'Proxies');
-
$config->setProxyNamespace('Proxies');
-
-
-
$this->bootstrap('db');
-
$connPDO['pdo'] = $this->getResource('db')->getConnection();
-
-
$conn = DriverManager::getConnection($connPDO, $config);
-
$em = EntityManager::create($conn, $config);
-
-
Zend_Registry::set('em', $em);
-
return $em;
-
}
-
}
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 »
Doctrine 2 ORM en Zend Framewok: parte I
Por zsamer en Noviembre 23, 2009
Como muchos sabemos Zend Framework ha estado desarrollando su propio ORM Zend Entity (definición de ORM), sin embargo el proyecto de ORM nativo de Zend ha quedado parado y descontinuado, el propio autor, Benjamin Eberlei (@beberlei (Twitter)), comenta las causas en el siguiente post.
Lamentable noticia, sin embargo ésta viene acompañada de una excelente noticia: a partir de ahora, Benjamin Eberlei dedicará todos sus esfuerzos a mejorar el ORM Doctrine 2 y su integración con el Zend Framework, sin duda alguna, Doctrine 2 es y lo será por lejos el mejor ORM de PHP desde su versión 5.3 (Doctrine 2 requiere PHP 5.3 o superior).
Las razones que dieron lugar a esta decisión son las siguientes:
- Le consume demasiado tiempo y ha llegado a una situación de bloqueo
- Zend_Entity sólo tiene un desarrollador y por eso no tiene ni la mitad de características de Doctrine 2
- La fecha prevista de finalización de Zend_Entity era de hasta seis meses, algo que no encaja muy bien con la planificación de las nuevas versiones de Zend Framework
Matthew Weier O’Phinney, máximo responsable de Zend Framework, está de acuerdo con la decisión y comenta al respecto:
"creemos que ayudar a mejorar un proyecto existente Doctrine y trabajar en su integración con Zend Framework será mejor para toda la comunidad de PHP".
Lee el resto de este artículo »
Últimos cursos del año 2009
Por zsamer en Septiembre 24, 2009
Plazo para inscribirse hasta el Viernes 2 de Octubre.
Fecha de comienzo de cursos a distancia Lunes 5 de Octubre, Zend Framework y PHP5 OOP.
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
Aún quedan algunos lugares en los cursos para llegar al tope máximo de 20 alumnos, así que quién envíe el pago inmediatamente obtiene el lugar disponible que aún no se ha pago.
Inicio de cursos Zend Framework 7/Septiembre
Por zsamer en Septiembre 2, 2009
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
Aún quedan algunos lugares en los cursos para llegar al tope máximo de 20 alumnos, así que quién envíe el pago inmediatamente obtiene el lugar disponible que aún no se ha pago.
¡Última semana, si no te inscribiste aún, luego no hay más excusas!
¡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:
- Programación Orientada a Objetos en PHP5 (3ra Edición)
- Introducción a Zend Framework (2da Edición)
- Introducción a los Patrones de Diseño (2da Edición)
- Análisis y Diseño Orientado a Objetos (2da Edición)
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!
Zend Framework 1.8.0
Por zsamer en Mayo 1, 2009
Finalmente, el equipo de Desarrollo Zend Framework liberó la esperada versión 1.8.0. Esta versión destaca uno de los lanzamientos más importantes, ya que incorpora en su lista a tres nuevos componentes (muy esperado por la comunidad ZF):
- Zend_Tool: es una utilidad de linea de comandos que nos permite auto-generar y mantener nuestra estructura del proyecto (cada vez más nos acercamos al Scaffolding de ruby o Symfony)
- Zend_Application: nos permite centralizar toda la inicialización del bootstrap en una sola clase, es decir encapsulará toda la lógica de arranque de nuestro sistema, permitiendo un index.php mucho más limpio y delegar todos los procesos en la clase Bootstrap que implementa distintos método para inicializar los distintos componentes del sistema (Db, Layout, View, Logger, Config, Front Controller, Control de Errores, Config del ambiente, Locale, etc... ) y finalmente incorporar un método main() que centralice todo y sea la puerta de entrada a nuestro sistema.
- Zend_Navigation: una utilidad para generar tus menús, sitemaps, bradcrumbs, etc.
Además trae todo tipo de validaciones y filtros listos para usar y otras mejoras a componentes como Zend_Pdf, etc.
E-commerce con Zend Framework: Clase Colección de Items
Por zsamer en Abril 1, 2009
En el 3er capitulo "Clase Cart" de la serie "E-commerce con Zend Framework" hablamos en detalle sobre las clases que representa el Carro de compras (Shopping Cart). Hablamos de la clase abstracta CartAbstract que determina que comportamiento tiene que implementar las clases que la extiendan y de su clase hija StandardCart (concreta) que implementa el comportamiento y operaciones de un carro de compras.
Ahora es el turno de hablar sobre la clase Collection e Item, la primera representa una colección de Item y la segunda es el Item que representa el producto en el carro de compras. Si aún estas interesado en como implementar un carro de compras en Zend Framework entonces sigue leyendo. Lee el resto de este artículo »
Curso Marzo 2009 - Introducción a Zend Framework
Por zsamer en Marzo 2, 2009
Luego de trabajar duro preparando el material, temas, contenido, ejemplos etc, se vé la luz del esperado curso a distancia "Introducción a Zend Framework". El curso lo dictaremos en conjunto con mi estimado colega Enrique Place de PHP Senior.
Para inscribirse en el curso deberán registrarse aquí, luego ingresar al sistema y seleccionar él curso de "Introducción a Zend Framework" para confirmar el curso.
El curso se realizará online y tendrá una duración de 8 semanas (2 meses), se desarrollará con el LMS para educación a distancia más popular (y como es el más completo, también es el más complejo) del momento: Moodle, en su versión 1.9.2+.
La idea del taller es fundamentalmente la interacción, con los integrantes mediante foros, encuestas y sistemas de mensajería. A pesar de contar con un temario y material previamente armado, el dictado va variando según las interacciones de sus participantes, a través de sus debilidades o sus fortalezas, y donde todos vamos aprendiendo.
Por consiguiente, es muy importante que todos participemos, no solo de forma individual con la lectura a consciencia del material que se va habilitando, sino también a través de los diversos ejercicios, pero mucho más importante la interacción a través de los foros y encuestas para ir haciendo todas las consultas sobre cada etapa semanal, y así, con las dudas de todos iremos ajustando el taller a la medida del grupo.
Solo se requiere tener conocimientos de programación Orientada a Objetos y de PHP, no se requiere ser experto pero si tener una base teórica y conceptual de lo relacionado con POO y PHP. Lee el resto de este artículo »
