August 15th, 2011 Category: Curso php5 Programacion Zend Zend Framework
16 Comments »
En este capitulo vemos como pasar datos desde un controller hacia la vista, o el layout. Tambien agregamos archivos estaticos al proyecto, css, js, e imagenes.
Si te perdiste el video anterior podes verlo aca
Es recomendable ver el video en 720p/1080p de resolucion y en pantalla completa.
Los que quieran descargarse el codigo fuente pueden hacerlo desde github en http://github.com/pablofmorales/News123
Capitulo 1 < Configuracion y creacion del proyecto
Capitulo 2 < Estructura de directorios, MVC y layouts
Proximo capitulo > Base de datos y Modelos
July 27th, 2011 Category: Curso php5 Programacion Zend Zend Framework
28 Comments »
Ya esta el capitulo dos del video tutorial de Zend Framework, en esta edicion vamos a dar un repaso sobre la estructura de direcotrios de Zend Framework, editar los controllers, las vistas, y el layout de nuestra aplicacion.
Tambien vamos a empezar a darle forma a nuestro proyecto. Y entender la diferencia entre el contenido estatico y el contenido generado por nuestro MVC.
Espero que lo disfruten, pueden usar los comments de este blog para plantear dudas, pedir que se refuerce algun tema, o pedir temas a tocar en el futuro.
Si te perdiste el video anterior podes verlo aca
Es recomendable ver el video en 720p de resolucion y en pantalla completa.
Los que quieran descargarse el codigo fuente pueden hacerlo desde github en http://github.com/pablofmorales/News123
Capitulo Anterior < Configuracion y creacion del proyecto
Proximo capitulo > Enviar parametros a las vistas y agregar archivos js y css a nuestro proyecto.
March 10th, 2010 Category: Optimizing Scalabillity Zend
4 Comments »
Revisando algunos problemas que tuve hoy con un servidor me volvi a plantear el uso de Zend Server.
Zend Server es un administrador para servidor de aplicaciones web siempre que trabajen con PHP. Este nos permite administrar extensiones, logs, extensiones. Ademas viene con Zend Optimizer+, Zend Data Cache, y Zend Debugger. Este producto de la gente de Zend nos promete manejar una mayor cantidad de usuarios, de datos y codigo.
Dentro de sus principales objetivos es la de proveer una herramienta para escalar y aumentar la performance de nuestro servidor.
En estas diapositivas, la gente de Zend hace una introduccion a Zend Server.
Tambien nos hablan de Performance y Escalabilidad.
Tambien nos brinda un servicio de Colas.
Aca nos muestran como hicieron para optimizar magento el software open source para crear tiendas online.
Instalacion en Debian.
$ sudo vim /etc/apt/source.list
agregamos la siguiente linea
#Zend Server Respository
deb http://repos.zend.com/zend-server/deb server non-free
Agregamos la clave publica del repositorio
$ wget http://repos.zend.com/deb/zend.key -O- | sudo apt-key add -
Actualizamos el repositorio
$ sudo aptitude update
Si queremos instalar php 5.2.x
$ sudo aptitude install zend-server-ce-php-5.2
Si queremos php 5.3.x
$ sudo aptitude install zend-server-ce-php-5.2
Cuando termine la instalacion podemos entrar en https://localhost:10082/ZendServer/ o http://localhost:10082/ZendServer/
Despues de completar el formulario de administracion, sino tuvimos ningun problema vamos a ver la siguiente pantalla.
Con estas diapositivas podemos ver un poco las virtudes de Zend Server un producto totalmente gratuito y facil de instalar. Si necesitan soporte tambien, pueden contratarlo, hay planes para todos los gustos.
March 28th, 2009 Category: Zend
5 Comments »
Me decidi probar la nueva estella de Zend, Zend Server.
Basicamente es un entorno de administracion para servidores web, las caracteristicas principales son la administracion de los archivos de configuracion, monitoreo de nuestros logs,monitoreo de aplicaciones, y promete un entorno seguro. Todo esto dentro de una interface Web que de hecho es bastante agradable.
Tambien viene integrado con Zend Core, asi que tambien tenemos Apache, php 5.x. Ya trae incluido un paquete con Zend Optimizer +, Zend Debugger, Zend Data Cache, Zend Guard Load, Zend Java Bridge, Zend Acelerator. Un administrador de extensiones, y algun que oto dellate mas.
La verdad que no vale la pena pagar por este producto, creo que con un grupo de aplicaciones open source se puede conseguir esto y seguramente mucho mas. Por ahora voy a seguir usandolo hasta que se acabe la licencia de prueba. En estos treinta dias voy a tratar de sacarle mas provecho para entende porque pagar lo que sale la licencia. Quizas el soporte lo valga, pero pagar soporte para esto?. La instalacion la hice a partir del tar.gz, tengo Arch linux, asi que para hacerla facil preferi instalarlo a mano.
Despues de bajarme el tar.gz, lo descomprimi en la carpeta /opt/. Tuve que crear un symlink de la carpeta /var/log/ y de /var/www/html para que se acople facilmente a la estructura de Zend Server. Despues cree los virtual host dentro de /opt/zend/apache2/conf/vhost/. Siempre uso esta carpeta para tener cada dominio/Subdominio con su propio archivo de configuracion, esto me facilita mucho la organizacion. Despues restarteo el servicio de apache, y ya tengo montado mi servidor web con Zend Server, hasta que tenga que pagar por esto
October 2nd, 2008 Category: linux Programacion Zend
8 Comments »
Toda mi vida desarrolle sobre editores tipo editplus, notepad ++, también use algo un poco mas avanzado como dreamweaver que te auto completaba las funciones, y alguno que otro mas. Pero hace dos años que uso Eclipse, y la cosa cambio mucho para mi, tengo todo, lo que necesito en una sola aplicacion, no tengo que switchear nada con ctrl + tab tengo todo integrado, svn, auto completado, formateador de código, funciones para renombrar una variable, debuger, el maravilloso outline que me muestra todas las propiedades, metodos de una clase, el explorador de archivo y hasta un navegador web para probarlo (aunque sigo usando Firefox), y muchas cosas mas que al tenerlas automatizadas ni me acuerdo. Pero lo importante, es que tengo todo lo que necesito para desarrollar, y esto es importante porque no pierdo tiempo en buscar el nombre de la función de otro archivo o que parámetros recibe el método de una clase porque automaticamente me sugiere todo, con la opción de seleccionar con las flechitas cual quiero, y auto completarme todo. O el fantástico ctrl + shift + f, el cual después de escribir código a lo loco me corrige todo los errores de indentacion en milisegundos, sin que necesite revisarlo.
La idea de escribir este articulo me surgió después de leer el articulo con la compilacion de 10 recomendaciones hechas por “especialistas” y en el punto 5 recomendaba usar algún IDE para acelerar los procesos de desarrollo de software, y no solo acelerar sino para unificar, como conté en otro articulo con una combinacion de teclas todos podemos tener el mismo estándar de indentacion, sin tener que chequear el código. Además se facilita mucho el uso del svn, y para una persona sin conocimientos de subversión,, se hace muy fácil, hacer un commit, agregar archivos al repositorio, actualizar, etc. Voy mas allá y digo que podes usar svn sin tener idea de lo que es.
Pero no quiero quedarme solo en eso, sino que además es extensible, podemos agregarle plugins, para javascripts, para css, para html, porque no para ruby, o python, o cualquier otro lenguaje que se nos ocurra.
Yo uso Zend Studio for Eclipse que si bien es pago, solo unos u$s 300, es un producto completisimo, pero también esta la alternativa libre, Eclipse PDT. Los dos son productos excelentes y cumplen la mayoría de las funciones.
Por otro lado tenemos el famoso y potente VI, que en definitiva es un editor de texto, pero realmente poderoso, se pueden hacer cosas que en Eclipse no. Es 100% configurable, y muchas de las funcionalidades de los IDE actuales, se pueden implementar para VI. Estamos en contacto directo con la consola que nos da mas control y poder a la hora de programar, pero a que costo?
Digo esto porque si el VI tiene cosas buenas, la amigabilidad no es una de esas cosas.
En un articulo escrito por un compañero de trabajo, menciona que el VI tiene una curva de aprendizaje muy grande, y acá es donde no me cierra.
Todo desarrollador web debería saber usar básicamente el VI, me refiero a poder copiar, pegar, buscar, buscar y reemplazar cadenas. Pero no es algo simple esto es totalmente distinto a cualquier otro editor de texto gráfico, pero tiene que ser una necesidad ya que muchas veces vamos a tener que meter las manos en servidores remotos, que no tienen entorno gráfico y otra de las características de VI, es que en cualquier servidor Linux del mundo escribís VI, y lo encontras.
Recomiendo la lectura del articulo VIM com IDE, porque muchas de las cosas que mencione arriba que se podían hacer con un IDE, muestra como hacerlas para VIM.
Pero, si bien en VIM se puede hacer lo mismo que se hace con un IDE (hasta lei que se puede integrar el svn), para hacer un search and replace, en vim tendriamos que hacer
:1,$ s/cadena_original/cadena_nueva/g
Esto con Eclipse es mucho mas intuitivo y facil, solo tenmos que apretar ctr + f completar los campos y ctr + a para que haga un reemplazo generl.
Por ahí soy todavía soy un chico windows y soy reacio a lo no amigable, pero mas allá de eso tengo en claro que cada herramienta cumple su propósito, y para desarrollar no hay nada como un IDE.
Obviamente nadie desarrolla en bash con Eclipse, pero aoca hablamos de programacion web. Tampoco creo que muchos locos anden usando VIM para programar en JAVA, y ni hablar de .net.
Los linuxeros de alma no van a estar muy deacuerdo conmigo, pero es una realidad, la consola te da poder pero no es comoda y mucho menos amigable, y no hablo solo por mi o por un usuario avanzado, sino tambien de los programadores recien iniciados que ya bastante problemas tienen aprendiendo a usar el lenguaje, como para agregarle la carga de aprender a usar algo tan exigente como VI.
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 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.
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 17th, 2008 Category: Zend
No Comments »
A través de la pagina oficial de Zend, nos enteramos que la empresa recibió 7 millones de dolarucos para invertir en el crecimiento comercial de la empresa. Esto es una buena noticia para seguir confiando en esta empresa, e invertir tiempo en PHP, mientras Zend siga creciendo tambien lo va hacer el mundo de php.
Si quieren ver la nota completa podes hacerlo en Zend Press
June 30th, 2008 Category: Zend
1 Comment »
Nuestros modulos estan dentro de la carpeta application.
Los modulos en un sistema que trabaja con MVC estan compuesto de 3 partes.
Modelo
Vista
Controlador.
El modelo ya aclaramos en otra seccion como crearlo.
Lo que necesitamos ver ahora son los controladores, y las vistas.
* Controllers
Dentro de la carpeta application tenemos por ejemplo el modulo usuarios, este tiene una carpeta con el mismo nombre. Dentro de esa carpeta podemos ver 2 carpetas mas, controllers, y views. Una particularidad es que un modulo no necesariamente tiene que tener un solo controller puede tener mas de uno, en nuestro caso vamos a tener dos. Un indexController.php y un adminController.php, el primero se va a encargar de procesar todas las acciones dentro del frontend, y el otro, todo lo referente al backend. Pero podemos hacerlo en mas controller, o en uno solo, esto es particular de cada uno.
Nuestros controllers tienen que heredar Zend_Controller_Action, pero como hicimos con los modelos podemos heredar una clase intermedia, eso depende de cada uno.
Cada metodo publico (deberian ser los unicos), tiene el posfijo Action, el cual representa que eso es una accion. Un ejemplo de un controller seria el siguiente.
class Usuarios extends Zend_Db_Table{ public static function getUsuarios() { $view->usuarios = Usuarios::getUsuarios(); $this->render(); } public function addAction() { $this->render(); }}?>
Si en la url no especificamos un action, el metodo por default es index. En nuestro ejemplo va a buscar al modelo de usuarios, todos los registros y los va a enviar a la vista a traves de $this->view, esto va a crear una variable $this->usuarios en nuestra vista.
* Vistas.
La carpeta de vistas esta dividida inicialmente en tres partes, filters, helpers, y scripts, en filters, vamos a guardar los filters (cuak), si queremos saber mas sobre esto podemos ir a esta url. http://framework.zend.com/manual/en/zend.filter.html#zend.filter.introduction.definition
En helpers van todos nuestros helpers para ese modulo especifico, si es un helper generico podemos ubicarlo dentro de nuestras librerias.
La carpeta scripts, contiene en nuestro caso tres carpetas admin, index y error. Esto se debe a que usamos dos controllers, si tuvieramos uno solo tendriamos index y error solamente.
Dentro de index para seguir con nuestro ejemplo tenemos varios archivos .phtml, esta extension determina que es una vista. Si nosotros tenemos el metodo index en nuestro controller, debemos tener una vista index.phtml, lo mismo para add, add.phtml. Esto ZF lo interpreta automaticamente, pero tambien podemos decirle que ejecute una vista en particular, o que no ejecute ninguna.
un ejemplo de index.phtml seria.
Esto nos va a mostrar todos los registros devueltos por el modelo.











