En la actual versión de symfony se usa Propel junto a Creole para crear un orm y una capa de abstracción entre la base de datos y el resto de nuestra aplicación.
Esto nos permite desarrollar aplicaciones independientes del motor de base de datos que usemos.
Sin embargo, para conseguir conectarse y operar con éxito con Sql Server 2005 hay que hacer una serie de configuraciones en php/symfony y hacks en creole.
(Espero que no os siente esto como un cubata de Baileys con tonica : )
7- Editar el fichero MSSQLConnection.php ubicado en \lib\plugins\sfPropelPlugin\lib\vendor\creole\drivers\mssql dentro del directorio de symfony.
En el caso de que no se especifique un puerto en el string de conexión a la base de datos, creole te inserta el valor de puerto predeterminado para sql server. Sin embargo, en Sql Server 2005 esto provoca un fallo impidiendo realizar una conexión exitosa a la base de datos.
Para evitar que creole nos meta el puerto si o si, debemos modificar la siguiente secuencia de control en MSSQLConnection.php:
Desde hace algún tiempo he estado leyendo sobre varios frameworks de desarrollo con php, que me permitiesen de una forma fiable automatizar trabajo que, a pesar de no tener una dificultad notable para alguien que sepa programar, te hace perder un montón de tiempo si quieres hacer las cosas bien.
La opción que más me ha gustado para php es sin duda Symfony y puesto que desarrollo tanto para plataformas UNIX/Linux como para sistemas Microsoft, me interesé por hacerlo funcionar e incluso utilizarla en proyectos que actualmente me encuentro desarrollando bajo sistemas Microsoft.
Voy a detallar como es una instalación de Symfony en IIS. Yo lo tengo funcionando sobre 2003 Server SP2 con IIS6
1 - Se descarga el código fuente de Symfony y se descomprime en un directorio en una de las unidades de disco duro del servidor. (Supongamos D:\symfony)
2 - Se crea un directorio cuyo contenido será el que usemos como sitio web. (Supongamos D:\dir_proyecto)
3 - Abrimos un terminal, nos situamos en “dir_proyecto” y ejecutamos lo siguiente para crear un proyecto:
4 - Creamos un sitio web nuevo que apunte al directorio “D:\dir_proyecto\web”.
5 - Dentro del ese nuevo sitio web, creamos un directorio virtual que apunte a “D:\symfony\data\web\sf”
6 - Si usamos isapi rewrite necesitamos ahora aplicar las reglas de redirecciones para nuestro sitio web. En la documentación oficial nos comentan una serie de reglas específicas para entornos de IIS. Esas reglas pueden darnos problemas a la hora de acceder a los archivos del directorio “D:\symfony\data\web\sf”.
Para evitar estos problemas, debemos ser fieles a las reglas definidas en el .htaccess que se ha creado en el directorio “D:\dir_proyecto\web” y añadir las reglas de seguridad relativas a entornos Microsoft.
Las reglas de redireccionamiento quedarían de la siguiente forma: RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
Cake PHP es uno de los mejores y más serios frameworks que podemos utilizar para desarrollar de una forma rápida y segura aplicaciones en php.
En Hospedaxes han creado un blog que podéis seguir en éste enlace, en el que nos publicar trucos y manuales basados en su experiencia profesional con éste excelente framework.
Un link sin duda para recomendar a todos los profesionales que desarrollen en php y quieran conocer éste framework para utilizar en algún proyecto.
Comentarios (0) Posted by Asier Marqués on Lunes, Abril 7th, 2008
A veces cuando desarrollamos en web para ciertos proyectos que requiren agilidad extrema de desarrollo o sea siempre, no tenemos la posibilidad de ponernos a desarrollar todo desde cero y nuestra opción más viable es optar por el uso de frameworks. En el caso de php tenemos varias opciones muy buenas como Zend Framework, Cake php o Symfony.
Comienzo: Symfony tiene mucha documentación y gente por detrás desarrollando y ayudando, algo de lo que anda un poco corto Zend.
Testing: Symfony viene con tareas de testing por línea de comandos y genera una clase vacía para ello al crear un controlador. Mientras que Zend no ofrece soporte para testing.
Plantillas: Zend tiene un sistema de plantillas un poco verde al que hay que hacerle algunos hacks para realizar algunas cosas. Symfony, al contrario, su sistema de plantillas es muy maduro, al cual le puedes añadir módulos.
Plugins: más de lo mismo, Symfony es extensible, Zend no.
Módulos de bases de datos: Zend usa ActiveRecord, mientras que en Simfony le puedes añadir el motor que desees, incluso Zend_Db.
Comentarios (18) Posted by Asier Marqués on Jueves, Enero 17th, 2008
Juction es un framework para php que nos permite concentrarnos en nuestra lógica de aplicación, simplificando de una forma muy potente todo el trabajo con nuestra base de datos.
Juction mapea las consultas internas a la base de datos cuando trabajamos con objetos, olvidandonos de toda la carga CRUD (Create, Retrieve, Update y Delete).
Aurora es un framework para php, escrito en php 5.2, que nos permite conseguir, de una forma rápida y “cómoda”, una arquitectura Modelo de Vista Controlador (MVC) en nuestras aplicaciones web o de consola.
Las características más importantes que conseguimos con éste framework son:
Fácil internacionalización
Api simplificada para accesos a base de datos
Sistema de caché
Lógica de plantillas
URL simplificadas
Modelos de datos
Aunque esto lo podemos conseguir perfectamente sin necesidad de un framework, no está de más disponer de herramientas que nos faciliten el trabajo para ciertas aplicaciones en las que no necesitemos un control total sobre nuestro código.
Comentarios (2) Posted by Asier Marqués on Martes, Noviembre 27th, 2007
Remy Sharp, creador de Left Logic, nos presenta diferencias en el código de las dos librerías, desde mi punto de vista, más serias, cómodas y elegantes de desarrollar con javascript: JQuery y Prototype.
Google Gears es una tecnología (por ahora sólamente utilizable mediante una extensión para Firefox) que nos permite ver y “acceder” a sitios web cuando no estemos conectados a internet (para los que no sabéis de lo que hablo echad un ojo a éste link).
Vortex es una librería en javascript, que se ha currado enteramente Brian Dunnington, que nos permite implementar ésta tecnología en nuestras aplicaciones web de un modo muy sencillo (está pensada para ser más sencilla de usar que Dojo Offline toolkit).
La demo es alucinante. Para ver y comprender cómo funciona sigue estos pasos:
Visita éste enlace. (Es un lector rss que usa ajax para leer las noticias)
Desconecta el ordenador de internet y cierra Firefox. (Mata el proceso si quieres :D)
En Nodstrun.com han publicado un sencillo tutorial en el que nos explican cómo implementar de forma elegante la funcionalidad de autocompletar, usando la librería JQuery.
Asier Marqués es un profesional freelance que trabaja como analista y desarrollador de aplicaciones web, así como consultor de sistemas Microsoft.
Tiene más de 5 años de experiencia en desarrollo de aplicaciones web,
ha trabajado como profesor de informática y se ha desarrollado como administrador de sistemas en varias consultoras internacionales.