Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
Herramientas a Instalar:
Instalación phpMyAdmin.
fedora, CentOS, RedHat
Ubuntu
# Descargar última versión del sitio: http://www.phpmyadmin.net y descomprimir en directorio web: /var/www/html (este comando no funciona ;-) ) # apt-get install phpmyadmin
Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
Librerías o Extensiones:
PDO (PHP Data Objects): Permite acceder a distintas base de datos utilizando las mismas funciones, facilitando la portabilidad.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
Librerías o Extensiones:
PHP-XML PHP-XMLRPC.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Adentrándonos en Symfony
Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
Qué es Symfony?
Framewok para el desarrollo de aplicaciones web con PHP.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
Qué es un Framework?
Framewok es una estructura de soporte definida, mediante la cual otro proyecto de software puede ser organizado y desarrollado.
Entrega soporte de herramientas y extensiones y los une para el beneficio del desarrollador.
Propone una metodología de Desarrollo.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
Principal Característica?
Facilitan el desarrollo de software, permitiendo a los diseñadores y programadores pasar más tiempo identificando requerimientos y buscando eficiencia, que preocupados de los detalles de bajo nivel que hoy en día no se justifican en la gran mayoría de los proyectos Web.
Encapsula operaciones complejas en instrucciones sencillas.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
Característica de Symfony
Bastante tutoriales y documentación de talleres y casos prácticos.
Documentación traducida a muchos idiomas, por ende, la comunidad sigue creciendo de manera exponencial.
Mantenido por la interesante combinación comunidad + empresa (Comunidad desarrolladores + Sensio).
Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
Requerimientos
Servidor Web: Apache o IIS.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
Requerimientos
Servidor Base de Datos: MySQL, PostgreSQL, etc.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
Requerimientos
Lenguaje Programación PHP 5.2.4 o superior.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Arquitectura
Symfony al igual que otros Frameworks de Desarrollo, se basa en el diseño web a tres Capas MVC .
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Arquitectura MVC
Modelo: Representa la información con la que trabaja la aplicación, resolviendo la lógica de negocio y el acceso a los datos.
Vista: Transforma el modelo en una página web, encargándose de la presentación visual de los datos.
Controlador: Se encarga de procesar las peticiones del usuario, de decidir cual es la acción que se ejecutará a continuación de realizar los cambios en la vista y en el modelo.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Arquitectura MVC y Flujo de petición
Rodrigo Miranda Blog: www.rodrigomiranda.cl Implementación MVC Symfony
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Arquitectura MVC Symfony
Modelo: Se subdivide en la capa de acceso a los datos y en la capa de abstracción de la base de datos. De esta forma, las funciones que acceden a los datos no utilizan sentencias ni consultas que dependen de una base de datos, sino que utilizan otras funciones para realizar consultas. Así si se cambia de base de datos solamente es necesario actualizar la capa de abstracción.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Arquitectura MVC Symfony
Modelo: En la capa del modelo trabajamos junto a un componente muy importante, el llamado traductor.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Arquitectura MVC Symfony
ORM (Object-relational mapping)
Las bases de datos siguen una estructura relacional. PHP 5 y Symfony por el contrario son orientados a objetos. Por este motivo, para acceder a la base de datos como si fuera orientada a objetos, es necesario una interfaz que traduzca la lógica de los objetos a la lógica relacional (mapeo de objetos a base de datos).
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Arquitectura MVC Symfony
Vista: La capa de presentación de los datos, puede ser objeto de subdivisión grafica ya que siempre en ellas hay zonas que se repiten, ejemplo: Header o Footer (pueden formar parte de layout).
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Arquitectura MVC Symfony
Controlador: Del controlador depende mucho trabajo, entre sus labores encontramos:
Manejo de las peticiones del usuario.
Manejo de la seguridad.
Cargar la configuración de la aplicación.
Ser el intermediario por donde pasan todas las conversaciones - desde y hacia - todas las otras capas.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
Flujo de Trabajo Symfony.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
Alternativa de Instalación
1. Entorno de prueba:
Es un proyecto vacío de Symfony que incluye librerías necesarias como: (Symfony, lime, Prototype con Scriptaculous, Doctrine y Propel con Phing).
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
Entorno de prueba:
Para instalar el entorno de pruebas, se debe descargar su archivo comprimido desde
A continuación, se descomprime su contenido en el directorio raíz del servidor web.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
Verificar entorno de prueba:
Para comprobar que se ha realizado correctamente la instalación del entorno de pruebas ejecuta el primer comando de symfony
El resultado del comando debería ser parecido:
# symfony -V # symfony version x.x.x (/ruta/hasta/el/directorio/lib/dir/utilizado/por/el/entorno/de/pruebas)
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
Verificar entorno de prueba:
Lo siguiente es acceder al entorno de pruebas mediante la siguiente URL:
http://localhost/sf_sandbox/web/frontend_dev.php
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
Si todo ha ido bien, deberías ver:
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
Para qué nos servirá el entorno de prueba…
El entorno de prueba está pensado para que se practique con Symfony en un servidor local, no para desarrollar aplicaciones complejas.
Nos servirá para conocer el esqueleto de este Framework antes de comenzar a desarrollar sobre él.
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Alternativa de Instalación
2. Instalación Symfony con PEAR:
El paquete PEAR de Symfony incluye las librerías propias de Symfony y todas sus dependencias. Además, también contiene un script que permite extender la línea de comandos.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación Symfony con PEAR
Instalación Symfony con PEAR:
Para instalar Symfony de esta manera, en primer lugar se debe añadir el canal Symfony PEAR:
Para comprobar librerías disponibles en ese canal:
Rodrigo Miranda Blog: www.rodrigomiranda.cl Finalmente, una vez añadido el canal, ya es posible instalar la última versión estable: Instalación Symfony con PEAR # pear install symfony/symfony downloading symfony-x.x.x.tgz ... Starting to download symfony-1.x.x.tgz (2,700,635 bytes) ................................................................. ................................................................. .............done: 2,700,635 bytes install ok: channel://pear.symfony-project.com/symfony-x.x.x
Rodrigo Miranda Blog: www.rodrigomiranda.cl Para verificar que se ha instalado correctamente utilizando la alternativa PEAR: Instalación Symfony con PEAR # symfony –V symfony version x.x.x (/ruta/hasta/el/directorio/lib/de/symfony/en/pear)
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Las librerías de instalación, se encuentran:
$php_dir/symfony/ contiene las principales librerías.
$data_dir/symfony/ contiene los archivos web que utilizan por defecto los módulos de symfony.
$doc_dir/symfony/ contiene la documentación.
$test_dir/symfony/ contiene las pruebas unitarias y funcionales de Symfony.
Instalación Symfony con PEAR
Rodrigo Miranda Blog: www.rodrigomiranda.cl Las variables que acaban en _dir se definen en la configuración de PEAR. Para ver sus valores puedes ejecutar el siguiente comando: Instalación Symfony con PEAR # pear config-show
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Alternativa de Instalación
2. Instalación mediante SVN (Subversión)
Esta opción es recomendada para desarrolladores más avanzados. Es el método con el que pueden obtener los últimos parches, pueden añadir sus propias características al framework y pueden colaborar con el proyecto Symfony.
Rodrigo Miranda Blog: www.rodrigomiranda.cl El listado de las versiones lo puedes encontrar en la siguiente URL: http://svn.symfony-project.com/tags/ El release a descargar para producción, debe considerar siempre la última versión ESTABLE. Instalación de Symfony mediante Subversión
Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación de Symfony mediante Subversión
Si no tienes instalado Subversion, es hora de hacerlo .
Rodrigo Miranda Blog: www.rodrigomiranda.cl Recomendamos crear un directorio que pueda contener más de una versión de Symfony. Este no debe ser accesible desde un navegador. Instalación de Symfony mediante Subversión # mkdir –p /versiones-symfony/symfonyx_x_x/ # cd /versiones-symfony/symfonyx_x_x # svn co http://svn.symfony-project.com/tags/RELEASE_x_x_x/ .
Rodrigo Miranda Blog: www.rodrigomiranda.cl Comprobando requerimientos de Sistema
Rodrigo Miranda Blog: www.rodrigomiranda.cl Comprobando requerimiento de Sistema Ingresar al directorio bin de la instalación Symfony: Ejecutar script check_configurarion: # cd /versiones-symfony/symfonyx_x_x/data/bin # php check_configuration.php
Rodrigo Miranda Blog: www.rodrigomiranda.cl El comando de symfony -V, para el caso de la instalación por Subversión, lo podremos ejecutar de la siguiente manera: o resultado: Instalación de Symfony mediante Subversión # php /versiones-symfony/symfonyx_x_x/data/bin/symfony –V # /versiones-symfony/symfonyx_x_x/data/bin/./symfony –V # symfony version x.x.x (/versiones-symfony/symfonyx_x_x/lib)
Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo Symfony
Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo
Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo Recomendamos: La tarea generate:project añade un script llamado symfony en el directorio raíz del proyecto. Este script es idéntico al comando symfony creado por PEAR, por lo que de ahora en adelante se puede seguir utilizando, acortando con eso las líneas de comandos. # cd /directorio/web/miproyecto # ./symfony -V
Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo Que contiene el script Symfony Si editamos el archivo symfony creado por la tarea generate:project. Encontramos la siguiente línea: # cd /directorio/web/miproyecto # vim symfony ……… require_once(dirname(__FILE__).’/config/ProjectConfiguration.class.php’); ……… ..
Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo ProjectConfiguration.class.php: Si editamos este archivo. Encontramos la siguiente línea que apunta a la instalación de Symfony. Por lo tanto, si alguna vez lo requieres, sólo debes cambiar esta ruta para que nuestro proyecto ocupe otra versión de symfony. # cd /directorio/web/miproyecto/config # vim ProjectConfiguration.class.php ……… require_once ‘ /versiones-symfony/symfonyx_x_x/ lib/autoload/sfCoreAutolad.class.php; ……… ..
Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo Si realizaste el cambio anterior (path o ruta) para una nueva versión de Symfony, no olvides borrar la caché del proyecto, desde su raíz # symfony cc # cd /directorio/web/miproyecto
Rodrigo Miranda Blog: www.rodrigomiranda.cl Preguntas?
0 comments
Post a comment