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
November 25th, 2008 Category: Zend Framework
3 Comments »
En esta parte vamos a emprolijar un poco nuestro sistema, en la versión anterior el objetivo era mostrar el frontend, pero el código no nos quedo muy limpio, y tampoco aprovechamos todo el potencial de ZF.
Usando Zend_Config
Si ustedes configuraron el virtual host de forma diferente al mio, y apunte a otro puerto y/o a otra url, cuando fueron a ejecutar el blog, seguramente no les tomo los estilos. Esto se debe a que nosotros hardcodeamos la url del proyecto, dentro del preDispatch, si quisieramos arreglar esto deberíamos entrar al IndexController y cambiar los valores de estas variables, si bien esto es mejor que escribir la url, una por una donde se requiera, lo mejor es tener un archivo de configuracion, donde todos estos datos que pueden variar según donde este alojado nuestro proyecto. ZF nos provee Zend_Config, y nos da la posibilidad de guardar nuestra configuracion en archivos .ini, y .xml, por simpleza, y porque me parece mucho mas claro, yo uso los .ini, que va a ser el que vamos a usar en este proyecto. Lo que hace Zend_Config, es levantar el file, y crear un objeto con todas las propiedades que pusieron en ese archivo. Vamos al ejemplo del proyecto, creamos un archivo de configuracion, dentro de la carpeta config/ llamado condig.default.ini.
Este archivo va a contener inicialmente las dos propiedades que antes teníamos en el preDispatch.
[site]
static.server = “http://blogzf.dev:8001/”
app.server = “http://blogzf.dev:8001/”
Si nuestro virtual host es diferente completamos los valores equivalentes.
La forma para levantar estos valores es muy simple, desde el bootstrap, vamos a levantar los datos de este archivo y lo vamos a almacenar con Zend_Registry, de forma tal que podamos utilizarlo en cualquier estado del sistema.
$config = new Zend_Config_Ini('config/config.default.ini');
$registry = Zend_Registry::getInstance();
$registry->set( 'config_ini', $config );
Esto es mas que suficiente, para tener nuestro archivo de configuracion en un objeto, y al alcance de cualquier clase que lo requiera.
Ahora en nuestro preDispatch, vamos a traer los valores del config, para mostrarlos en la vista con el siguiente código.
get( 'config_ini' );
$this->view->staticServer = $config->site->static->server;
$this->view->appServer = $config->site->static->server;
La forma de traer datos de la configuracion, es anidar las propiedades, hasta el ultimo valor para que devuelva el valor correspondiente en el config. En nuestro archivo de configuracion tenemos [site] static.server, y para obtener este valor hacemos $config->site->static->server;
Limpiando el layout
En la primer parte teníamos un html pegado en colorpaper.phtml, que es nuestro layout. Para esta versión trate de separarlo por lo menos un poco, para que el archivo quede mas claro, y mas adelante podamos modificarlo de una forma mas cómoda.
Para hacer esto use $this->layout()->content, que como default, me muestra el phtml del action que estamos viendo. Por ejemplo, el action de nuestra home, deberia mostrar un listado de los ultimos post enviados.
Para el menu principal, use $this->layout->menuTop, y lo configure desde el preDispatch. Definiendo que modulo tenia que llamar para mostrar el contenido en esa seccion, lo mismo, para el sidebar, y el footer.
A todo esto cree un controller SidebarController, para que maneja estos 3 modulos (menuTop, sidebar, footer), mas adelante podemos seguir separando esto, de acuerdo al diseño que vayamos a utilizar.
Las lineas donde configuramos esto son las siguientes.
$response = $this->getResponse();
$response->insert( 'sidebar', $this->view->action( 'rightcontent', 'sidebar' ));
$response->insert( 'footer', $this->view->action( 'footer', 'sidebar' ));
$response->insert( 'topMenu', $this->view->action( 'menutop','sidebar' ));
Sino queremos llamar a un modulo y solo queremos mostrar contenido html estatico podemos hacer un render de un archivo, por ejemplo si el codigo html del footer estuviera en un phtml, sin necesidad de llamar a una accion, podriamos hacer lo siguiente
$response->insert( 'footer', $this->view->render('sidebar/footer.phtml' ));
Esto va a depender de las necesidades que tengamos.
Para bajarte esta version del programa podes descargartelo desde el tag
$ svn internal https://blogzf.googlecode.com/svn/tags/paso_2_layouts_y_configuracion
Componentes utilizados
Zend_Config
Zend_Registry
La url del proyecto es
November 23rd, 2008 Category: varios Zend Framework
12 Comments »
Creando un blog desde cero.
Introduccion al proyecto.
La idea de este proyecto, es tratar de transmitir mis conocimientos sobre Zend Framework, y mostrar que es muy simple trabajar con el. Hace tiempo que llevo trabajando con este framework, y me facilita mucho el trabajo diario, y el trabajo en grupo. El blog posiblemente cuando se termine reemplaze a mi worpress, pero eso veremos mas adelante como evoluciona el proyecto.
Cuando ustedes lean esto el blog va a estar bastante encaminado. Cada parte importante del desarrollo del blog voy a postearlo para que hagan comentarios, y el aprendizaje sea de apoco y no todo de golpe.
Subi el proyecto a google code, por cada corte importante del proyecto cree un tag, ese tag corresponde a un post especifco donde se explican los cambios y porque aplicamos tal o cual cosa.
Una vez el proyecto este terminado cualquiera tiene derecho a implementar este blog que vamos a desarrollar aca es open source, y totalmente libre.
Manos a la obra
La gente que este leyendo este post, y no sepa nada de Zend Framework quizas les cueste un poco mas entenderlo porque hay conceptos que ya se hablaron en este blog, y no quiero repetirlos, si hay algo que no entienden pueden preguntarlo o googlearlo.
Lo primero que vamos a hacer es armar la estructura, que va a ser practicamente la misma que en el articulo que arme hace varias semanas, pero con algunos cambios, la carpeta apps, se va a llamar application, y la carpeta html sera webroot. Ademas vamos a mover la carpeta layout dentro de webroot.
Creando el virtual host.
# Blog para el proyecto
ServerAdmin soporte@blogzf.com
DocumentRoot /var/www/html/blogzf/webroot
ServerName blogzf.dev
Options FollowSymLinks
AllowOverride All
# Opciones de PHP
php_value include_path .:/var/www/html/blogzf/webroot
ErrorLog logs/blogzf-error.log
CustomLog logs/blogzf-access.log common
Lo primero que vamos a crear es el bootstrap, que va a ser muy simple por ahora, y generar un layout basico que vamos a pedir prestado por ahi. La configuracion inicial va a quedar bastante basica. Vamos a crear un controller IndexController, un bootstrap index.php en la carpeta webroot, un .htaccess en la carpeta webroot tambien, y una carpeta con el nombre del layout, tambien vamos a agregar como external la libreria de Zend al proyecto. Si queres saber mas sobre como hacer esto, ya hay un post en el blog.
Para ir viendo como quedo esta parte del blog pueden bajarse los archivos del tag de esta version del proyecto haciendo.
$ svn import http://blogzf.googlecode.com/svn/tags/paso_1_layouts_y_configuracion/
Si crearon bien el virtual host, con solo escribir en el navegador http://blogzf.dev:8001/, tienen que ver algo parecido a esto.
Analizando el codigo.
Como primer punto voy a describir el bootstrap, basicamente este archivo tiene que tener una configuracion basica, para que pueda llamar al controller que correspondiente, y asi ejecutar la accion que requerimos.
Nuestro bootstrap es el siguiente.
'colorpaper/colorpaper',
'layoutPath' => 'layout/'
);
Zend_Layout::startMvc( $options );
/**
* Setup controller
*/
$controller = Zend_Controller_Front::getInstance();
$controller->setParam( 'config', 'config.default.ini' )
->setControllerDirectory('../application/controller')
->throwExceptions(true)
->dispatch();
Hacemos unas configuraciones basicas, y despues que le decimos lo path del sistema, esto lo hacemos para que la comunicacion entre carpetas, sea mas sencilla. Algo importante que va a tener nuestro sistema de Blog, es que vamos a usar Zen_Loader::registerAutoload();, lo que hace este componente, es tratar de incluir el archivo que estes llamando, de esta forma si escribis bien el nombre de una clase, haciendo referencia al path, no necesitas hacer un required, o include. Si bien esto no es muy recomendable, porque cae un poco el rendimiento, tambien es cierto que es muy comodo
, igual despues mas adelante, cuando optimizemos el sistema, vamos a arreglar un poco este problema.
Las siguientes lineas corresponden a la configuracion del layout, que en este caso agregamos un layout, que se llama colorpaper, y queremos que ejecute colorpaper.phtml.
Las ultimas lineas ejecutan el controller,
Si vemos el codigo vamos a ver que no hay nada raro en especial tenemos un controller (IndexController), con un preDispatch, y un indexAction. El preDispatch ejecutamos todo lo que necesitamos que se cargue antes de empezar a ejecutar la accion.
view->staticServer = 'http://blogzf.dev:8001/';
$this->view->appServer = 'http://blogzf.dev:8001/';
/**
* Agrego el titulo de la pagina
*/
$this->view->headTitle()->append('Blog con Zend Framework');
/**
* Agrego los css para esta pagina
*/
$this->view->headLink()
->appendStylesheet( $this->view->staticServer . 'layout/colorpaper/css/jd.gallery.css' )
->appendStylesheet( $this->view->staticServer . 'layout/colorpaper/css/pink.css' )
->appendStylesheet( $this->view->staticServer . 'layout/colorpaper/css/style.css' );
En las primeras lineas del preDispatch, configuramos dos propiedades, que van a afectar a las vistas y al layout, uso dos tipos de variables para guardar el dominio, porque puede surgir que yo tenga por un lado un servidor para las imagenes, css, html y en otro servidor la aplicacion en si. Por ahora va a ser la misma, pero esto va a depender de ustedes.
Al hacer $this->view->staticServer, le estamos diciendo que cree una propiedad staticServer, esta es la forma en que ZF comunica desde un controller a una vista.
Despues tenemos la linea
$this->view->headTitle()->append('Blog con Zend Framework');
Aca estamos seteando el titulo del blog.
Y en la siguientes lineas, agregamos los css, que vamos a trabajar.
Cuando nosotros apendeamos, un titulo, los meta, los css, y los js, podemos mostrarlos desde la vista muy facilmente, usando los metodos que van a encontrar en el layout, que veremos mas adelante.
Por ahora nuestro indexAction no hace nada, lo mismo que la vista del mismo.
Como primera meta de este proyecto me propuse tomar un diseño modernoso, y adaptarlo al sistema de layout de Zend. Quise darle un aspecto atractivo, para que llame la atencion, y vean un poco el potencial del proyecto, que a veces el problema con excelentes proyectos de este tipo el problema es que no son atractivos y no llaman la atencion, este proyecto busca llamar la atencion, por eso este diseño. Lo unico que queria para esta parte es que me mostrara los datos de forma estatica pero minimante configurado el layout, y digo minimamete porque este layout va ir mutando a medida que avanze el proyecto.
Com hablamos antes en el preDispatch, apendeamos el title, y los css del layout, para mostrarlos desde nuestro layout, hicimos lo siguiente.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html dir=”ltr” xmlns=”http://www.w3.org/1999/xhtml” lang=”en-US”>
<head profile=”http://gmpg.org/xfn/11″>
<?= $this->headMeta() ?>
<?= $this->headTitle() ?>
<?= $this->headScript() ?>
<?= $this->headLink() ?>
</head>
<body>
Bueno por hoy es suficiente, para la proxima vamos a seguir separando el layout, para que nos quede mejor dividido, y vamos a usar archivos de configuracion, para guardar los datos de nuestros sistemas.
En esta parte del proyecto vimos los siguientes componentes.
* Zend_Controller
* Zend_Loader
* Zend_Layout
November 19th, 2008 Category: Zend Framework
No Comments »
Un grupo de gente se puso en campaña para traducir la documentacion de Zend Framework, entre ellos yo, aportando algo aunque sea minimo (mi ingles no es el mejor). Cualquier puede participar de este proyecto de traduccion, a continuacion voy a transcribir un extracto de la gente de codigolinea que son los promoteres de este proyecto.
–
La documentación oficial en español ha estado estancado por mucho tiempo, las causas pueden ser diversas, pero el mayor problema es el trámite un poco tedioso con Zend, ya que se tiene que firmar un documento llamado CLA “Contributor License Agreement” para poder hacer contribuciones y esperar que Zend lo apruebe, luego de eso solicitar acceso al SVN (que también es un poco complicado) para poder enviar los documentos traducidos, lo cual ha desanimado ha muchos.
Como miembro del grupo de traductores del manual de ZF y viendo esta problemática instale un wiki http://www.zfdes.com/ para que todos puedan colaborar y así podamos avanzar con la traducción del manual, después de ser traducidos y revisados estos documentos serán enviados a Zend.
He empezado a enviar algunos avances a Zend, pueden verlo aquí
¿Y como ayudar?
Puedes ayudar de la siguiente manera:
- Traduciendo los documentos publicados
- Verificando las traducciones
- Corrigendo errores y/o reportándolos en el foro del wiki http://foro.zfdes.com/
- Comunicando a otros para que nos ayuden en la traducción
Así que ya no hay mas excusas para no poder ayudar, esperamos tu apoyo!
Enlaces:
wiki: http://zfdes.com/
SVN: http://framework.zend.com/svn/framework/standard/trunk/documentation/manual/es
October 29th, 2008 Category: Programacion Zend Framework
1 Comment »
Encontre varios links interesantes para compartir. Es muy bueno el video que hay en el blog para webmasters de google, sobre los sitemap, para los que no tienen muy en claro para que sirve, o como usarlo es ideal, ademas esta explicado muy claro.
Tambien hay un ejemplo de uso Zend_Captcha.
Hace unas semanas en la lista de Zend Framework hispano surgio una discusion sobre si era bueno o no empezar a programar en PHP con Zend Framework, tambien encontre un link donde tocan el tema.
Zend Framework
- Zend Framework good for beginners or no? – Code Utopia
- Scraping websites with Zend_Dom_Query – raphael.on.php
- A Zend_Captcha exaple – Robert Basic
- Zend framework and the twitter api – Dave Development
- Profiling queries with Zend_Db and optimizing them by hand – Tech Founder
SEO
- La importancia de la arquitectura de enlaces – Google para webmasters
- Los sitemap al descubierto – Google para webmasters
Programacion en general
October 9th, 2008 Category: Zend Framework
1 Comment »
Cualquiera puede crear un xml valido con las reglas para los sitemap, pero como le decimos a google que nuestro sitemap es www.dominio.com/sitemap.xml ?
La primera es con una regla de rewrite, pero para hacer esto vamos a usar Zend_Controller_Router_Route_Regex.
Esta lib nos permite crear un alias para nuestros modulos, por ejemplo si nosotros invocamos a www.dominio.com/sitemap.xml, podemos decirle que en realidad llame a www.dominio.com/xml/sitemap/, podria decirle a google que busque directamente en www.dominio.com/xml/sitemap/, pero hay una teoria que te indexa mejor si es un .xml, asi que vamos a darle el gusto y llamarlo asi.
Si nosotros queremos remapear esa url para que lo envie a www.dominio.com/xml/sitemap/, desde el bootstrap hacemos lo siguiente.
$controller = Zend_Controller_Front::getInstance();
$controller->setControllerDirectory( './application/controllers' );
$controller->throwExceptions( true );
$router = $controller->getRouter();
$route = new Zend_Controller_Router_Route_Regex(
'^sitemap.xml$',
array(
'controller' => 'xml',
'action' => 'sitemap'
)
);
$router->addRoute('sitemap', $route);
$controller->dispatch();
Y con esto ya es suficiente, para que desde nuestro browser entremos desde www.dominio.com/sitemap.xml a www.dominio.com/xml/sitemap/, esto tambien podriamos hacerlo para todas las paginas, para que terminen siempre en html, y enviarlas al modulo correspondiente para que sea mas SEO friendly, pero eso es mejor hacerlo desde el .htaccess.
Si cargamos en google, esta url para los sitemap, nos va a dar un error 404, y eso es porquqe no encuentra al url desde el bot. Todavia no descubri porque pasa esto, pero la unica manera de solucionarlo es agregandole una barra al final, quedando de esta manera.
www.dominio.com/sitemap.xml/
Para crear el sitemap, solo necesitamos un controller, que traiga los datos correspondientes de los modelos, y en la vista arme el xml
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
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







