SlideShare une entreprise Scribd logo
1  sur  74
Symfony Parte 2 Rodrigo Miranda [email_address] [email_address] http://www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Desarrollando una Aplicacion
Rodrigo Miranda Blog: www.rodrigomiranda.cl Desarrollando una Aplicación ,[object Object],[object Object],[object Object],[object Object]
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. Desarrollando una Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl Desarrollando una Aplicación ,[object Object],[object Object],[object Object],#  yum install subversion  #  apt-get install subversion
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],Desarrollando una Aplicació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 ,[object Object],[object Object],Desarrollando una Aplicación #  cd /versiones-symfony/symfonyx_x_x/data/bin #  php check_configuration.php
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],Desarrollando una Aplicació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 Desarrollando una Aplicación ,[object Object],[object Object],#  php /versiones-symfony/symfonyx_x_x/data/bin/symfony #  /versiones-symfony/symfonyx_x_x/data/bin/./symfony
Rodrigo Miranda Blog: www.rodrigomiranda.cl Desarrollando una Aplicación ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos ,[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 1.  Proyecto Microblog: Definición de Aplicaciones
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 2.  Definición de Modelo de Datos:
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 3.1.  Crear el proyecto Blog: Dependiendo del sistema operativo y de la instalación realizada, puede ser necesario utilizar el prefijo php antes de cada comando Symfony. O: #  php /versiones-symfony/symfonyx_x_x/data/bin/symfony generate:project blog # /versiones-symfony/symfonyx_x_x/data/bin/./symfony generate:project blog # mkdir /directorio/web/blog # cd /directorio/web/blog
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 3.2. Crear las aplicaciones publico y administrador del proyecto Blog: #  cd /directorio/web/blog #  ./symfony generate:app publico #  ./symfony generate:app administrador
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos ,[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Configuración del Servidor Web
Rodrigo Miranda Blog: www.rodrigomiranda.cl Configuración del Servidor Web <VirtualHost *:80> ServerName blog.localhost DocumentRoot /directorio/web/blog/web DirectoryIndex index.php Alias /sf /versiones-symfony/symfonyx_x_x/data/web/sf Errorlog /var/log/httpd/blogError.log CustomLog /var/log/httpd/accessBlog.log common <Directory /versiones-symfony/symfonyx_x_x/data/web/sf> AllowOverride All Allow from All </Directory> <Directory /directorio/web/blog/web> Allowoverride All Allow from All </Directory> </VirtualHost>
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],Configuración del Servidor Web
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Configuración del Servidor Web
Rodrigo Miranda Blog: www.rodrigomiranda.cl Configuración del Servidor Web ,[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos ,[object Object],[object Object],[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos 4. Construir el Modelo: 4.1 – Protegiendo la Base de Datos: # mysql –u root -p  mysql> use mysql; mysql> update user set password=PASSWORD(‘cl1v3ade4’) where user=‘root’; mysql> flush privileges; mysql>
Rodrigo Miranda Blog: www.rodrigomiranda.cl 4.2 Crear Base de Datos y Usuario: Proyecto, Aplicaciones y Módulos # mysql –u root -p  mysql> create database blog default character set utf8 collate utf8_general_ci; mysql> grant all on blog.* to conicyt@localhost IDENTIFIED BY ‘c00ny’; mysql> flush privileges;
Rodrigo Miranda Blog: www.rodrigomiranda.cl 4. Construir el Modelo: 4.1 – Tabla articulo: CREATE TABLE IF NOT EXISTS `blog_articulo` ( `id` int(11) unsigned NOT NULL auto_increment, `titulo` varchar(255) NOT NULL, `contenido` text NOT NULL, `modificacion` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY  (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mantenedor de Posts' AUTO_INCREMENT=1 ; Proyecto, Aplicaciones y Módulos
Rodrigo Miranda Blog: www.rodrigomiranda.cl 4.2 – Tabla comentario: CREATE TABLE IF NOT EXISTS `blog_comentario` ( `id` int(11) unsigned NOT NULL auto_increment, `autor` varchar(255) NOT NULL, `contenido` text NOT NULL, `modificacion` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `id_blog_articulo` int(11) unsigned NOT NULL, PRIMARY KEY  (`id`), KEY `id_blog_articulo` (`id_blog_articulo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mantenedor de Comentarios' AUTO_INCREMENT=1 ; Proyecto, Aplicaciones y Módulos
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Proyecto, Aplicaciones y Módulos # vim  /directorio/web/blog/config/propel.ini
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],# vim  /directorio/web/blog/config/databases.yml
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos ,[object Object],[object Object],[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos ,[object Object],[object Object],[object Object],# cd /directorio/web/blog #./symfony propel:build-schema
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos ,[object Object],#./symfony propel:build-schema  --xml
Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos ,[object Object],#./symfony propel:build-model
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Proyecto, Aplicaciones y Módulos #./symfony cc
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Proyecto, Aplicaciones y Módulos #cd lib/model # ls –l -rw-r--r-- 1 conicyt conicyt  63 oct 27 09:46 BlogArticuloPeer.php -rw-r--r-- 1 conicyt conicyt  55 oct 27 09:46 BlogArticulo.php -rw-r--r-- 1 conicyt conicyt  67 oct 27 09:46 BlogComentarioPeer.php -rw-r--r-- 1 conicyt conicyt  59 oct 27 09:46 BlogComentario.php drwxr-xr-x 2 conicyt conicyt 4096 oct 27 09:46 map drwxr-xr-x 2 conicyt conicyt 4096 oct 27 09:46 om
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Proyecto, Aplicaciones y Módulos #cd lib/model/om # ls –l -rw-r--r-- 1 conicyt conicyt 28212 oct 27 09:46 BaseBlogArticuloPeer.php -rw-r--r-- 1 conicyt conicyt 29357 oct 27 09:46 BaseBlogArticulo.php -rw-r--r-- 1 conicyt conicyt 36094 oct 27 09:46 BaseBlogComentarioPeer.php -rw-r--r-- 1 conicyt conicyt 27190 oct 27 09:46 BaseBlogComentario.php
Rodrigo Miranda Blog: www.rodrigomiranda.cl Clases base y clases personalizadas
Rodrigo Miranda Blog: www.rodrigomiranda.cl Clases bases y clases personalizadas ,[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Clases bases y clases personalizadas ,[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Clases bases y clases personalizadas ,[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Clases bases y clases personalizadas ,[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl Clases bases y clases personalizadas ,[object Object],[object Object],[object Object]
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Proyecto, Aplicaciones y Módulos
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],Proyectos, Aplicación y Módulos #./symfony propel:build-forms
Rodrigo Miranda Blog: www.rodrigomiranda.cl Clases bases y clases personalizadas ,[object Object],[object Object],#./symfony propel:build-filters
Rodrigo Miranda Blog: www.rodrigomiranda.cl Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl Administrador de la Aplicación ,[object Object],[object Object],#./symfony propel:generate-admin administrador  BlogArticulo
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],Administrador de la Aplicación #./symfony propel:generate-admin administrador  BlogComentario
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl A continuación el controlador frontal  administrador_dev.php  nos muestra una página de error Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl Vistazo al Código Generado
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Administrador de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl Parte Pública de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl Parte pública de la Aplicación ,[object Object],[object Object],#./symfony propel:generate-module publico articulo  BlogArticulo
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],Parte pública de la Aplicación #./symfony propel:generate-module publico comentario  BlogComentario
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],Parte pública de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl ,[object Object],[object Object],[object Object],Parte pública de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl Preguntas?

Contenu connexe

Tendances

Directorio betabeers
Directorio betabeersDirectorio betabeers
Directorio betabeers
betabeers
 
Caja de herramientas ar
Caja de herramientas arCaja de herramientas ar
Caja de herramientas ar
Angela Ruiz
 

Tendances (18)

PHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebPHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad Web
 
PHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios WebPHP Avanzado: PHP, XML y Servicios Web
PHP Avanzado: PHP, XML y Servicios Web
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
 
Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP
 
PHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPPHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHP
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain
 
Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Directorio betabeers
Directorio betabeersDirectorio betabeers
Directorio betabeers
 
Preguntas de xampp
Preguntas de xamppPreguntas de xampp
Preguntas de xampp
 
Symfony2, Jornadas Symfony
Symfony2, Jornadas SymfonySymfony2, Jornadas Symfony
Symfony2, Jornadas Symfony
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasos
 
Seguridad en PHP (es)
Seguridad en PHP (es)Seguridad en PHP (es)
Seguridad en PHP (es)
 
Chuleta Github: La potencia con control !!!!
Chuleta Github: La potencia con control !!!!Chuleta Github: La potencia con control !!!!
Chuleta Github: La potencia con control !!!!
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
 
Caja de herramientas ar
Caja de herramientas arCaja de herramientas ar
Caja de herramientas ar
 

En vedette

Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
mtemarialuisa
 
NATURA SOCIETAT: HARMONIES, CRISIS I IMPACTES
NATURA  SOCIETAT: HARMONIES, CRISIS I IMPACTESNATURA  SOCIETAT: HARMONIES, CRISIS I IMPACTES
NATURA SOCIETAT: HARMONIES, CRISIS I IMPACTES
locoserrallo
 
Imperialisme Colonialisme
Imperialisme ColonialismeImperialisme Colonialisme
Imperialisme Colonialisme
jestiarte
 
Disruptor tools in action
Disruptor   tools in actionDisruptor   tools in action
Disruptor tools in action
Michael Barker
 
The 8051 assembly language
The 8051 assembly languageThe 8051 assembly language
The 8051 assembly language
hemant meena
 

En vedette (20)

CiU denuncia l’increment desmesurat de personal del Govern Tripartit
CiU denuncia l’increment desmesurat de personal del Govern TripartitCiU denuncia l’increment desmesurat de personal del Govern Tripartit
CiU denuncia l’increment desmesurat de personal del Govern Tripartit
 
Presentació 22@Barcelona, El districte de la Innovació
Presentació 22@Barcelona, El districte de la InnovacióPresentació 22@Barcelona, El districte de la Innovació
Presentació 22@Barcelona, El districte de la Innovació
 
la embrilogia
la embrilogiala embrilogia
la embrilogia
 
Unitat 6.- Tipus de Mercat
Unitat 6.- Tipus de MercatUnitat 6.- Tipus de Mercat
Unitat 6.- Tipus de Mercat
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
 
NATURA SOCIETAT: HARMONIES, CRISIS I IMPACTES
NATURA  SOCIETAT: HARMONIES, CRISIS I IMPACTESNATURA  SOCIETAT: HARMONIES, CRISIS I IMPACTES
NATURA SOCIETAT: HARMONIES, CRISIS I IMPACTES
 
Pla ferroviari
Pla ferroviariPla ferroviari
Pla ferroviari
 
Imperialisme Colonialisme
Imperialisme ColonialismeImperialisme Colonialisme
Imperialisme Colonialisme
 
Java Concurrency Idioms
Java Concurrency IdiomsJava Concurrency Idioms
Java Concurrency Idioms
 
La gestion de projet Agile
La gestion de projet AgileLa gestion de projet Agile
La gestion de projet Agile
 
Disruptor tools in action
Disruptor   tools in actionDisruptor   tools in action
Disruptor tools in action
 
Trial set
Trial setTrial set
Trial set
 
Intro to scaling Databases
Intro to scaling DatabasesIntro to scaling Databases
Intro to scaling Databases
 
The 8051 assembly language
The 8051 assembly languageThe 8051 assembly language
The 8051 assembly language
 
Polymer & the web components revolution 6:25:14
Polymer & the web components revolution 6:25:14Polymer & the web components revolution 6:25:14
Polymer & the web components revolution 6:25:14
 
Conflict Resolution In Kai
Conflict Resolution In KaiConflict Resolution In Kai
Conflict Resolution In Kai
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Downtown & Infill Tax Increment Districts: Strategies for Success
Downtown & Infill Tax Increment Districts: Strategies for SuccessDowntown & Infill Tax Increment Districts: Strategies for Success
Downtown & Infill Tax Increment Districts: Strategies for Success
 

Similaire à Symfony Parte 2

Similaire à Symfony Parte 2 (20)

Symfony Parte 3
Symfony Parte 3Symfony Parte 3
Symfony Parte 3
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Symfony parte 4
Symfony parte 4Symfony parte 4
Symfony parte 4
 
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosDesymfony 2011 - Tutorial #1: Instalacion y primeros pasos
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasos
 
Symfony
SymfonySymfony
Symfony
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones web
 
Tutorial CodeIgniter + Netbeans 7
Tutorial CodeIgniter + Netbeans 7Tutorial CodeIgniter + Netbeans 7
Tutorial CodeIgniter + Netbeans 7
 
Symfony
SymfonySymfony
Symfony
 
Charla Hello Real World para PHPmad
Charla Hello Real World para PHPmadCharla Hello Real World para PHPmad
Charla Hello Real World para PHPmad
 
nn
nnnn
nn
 
Desplegando Proyectos Symfony2 con Capistrano-Capifony y Git
Desplegando Proyectos Symfony2 con Capistrano-Capifony y GitDesplegando Proyectos Symfony2 con Capistrano-Capifony y Git
Desplegando Proyectos Symfony2 con Capistrano-Capifony y Git
 
Symfony parte 6
Symfony parte 6Symfony parte 6
Symfony parte 6
 
Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo web
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1
 
Drupal8&symfony
Drupal8&symfonyDrupal8&symfony
Drupal8&symfony
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
 
Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2
 
Backend (sf2Vigo)
Backend (sf2Vigo)Backend (sf2Vigo)
Backend (sf2Vigo)
 
Sf2 pr5 mi primer proyecto
Sf2 pr5 mi primer proyectoSf2 pr5 mi primer proyecto
Sf2 pr5 mi primer proyecto
 

Plus de Rodrigo Miranda

Plus de Rodrigo Miranda (20)

Symfony Pruebas Unitarias
Symfony Pruebas UnitariasSymfony Pruebas Unitarias
Symfony Pruebas Unitarias
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
 
Symfony parte 13
Symfony parte 13Symfony parte 13
Symfony parte 13
 
Symfony parte 18
Symfony parte 18Symfony parte 18
Symfony parte 18
 
Symfony parte 17
Symfony parte 17Symfony parte 17
Symfony parte 17
 
Symfony parte 16
Symfony parte 16Symfony parte 16
Symfony parte 16
 
Symfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y MigraciónSymfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y Migración
 
Symfony parte 14 Consultas SQL - Páginador
Symfony parte 14 Consultas SQL - PáginadorSymfony parte 14 Consultas SQL - Páginador
Symfony parte 14 Consultas SQL - Páginador
 
Symfony parte 12
Symfony parte 12Symfony parte 12
Symfony parte 12
 
Symfony parte 11 Formularios
Symfony parte 11 FormulariosSymfony parte 11 Formularios
Symfony parte 11 Formularios
 
Symfony parte 10
Symfony parte 10Symfony parte 10
Symfony parte 10
 
Symfony parte 9
Symfony parte 9Symfony parte 9
Symfony parte 9
 
Symfony parte 8
Symfony parte 8Symfony parte 8
Symfony parte 8
 
Symfony parte 7
Symfony parte 7Symfony parte 7
Symfony parte 7
 
Symfony parte 6
Symfony parte 6Symfony parte 6
Symfony parte 6
 
Symfony Parte 5
Symfony Parte 5Symfony Parte 5
Symfony Parte 5
 
Adentrándonos a PHP 5
Adentrándonos a PHP 5Adentrándonos a PHP 5
Adentrándonos a PHP 5
 
Introducción Nivelación PHP
Introducción Nivelación PHPIntroducción Nivelación PHP
Introducción Nivelación PHP
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (10)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Symfony Parte 2

  • 1. Symfony Parte 2 Rodrigo Miranda [email_address] [email_address] http://www.rodrigomiranda.cl
  • 2. Rodrigo Miranda Blog: www.rodrigomiranda.cl Desarrollando una Aplicacion
  • 3.
  • 4. 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. Desarrollando una Aplicación
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos
  • 12.
  • 13.
  • 14.
  • 15. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 1. Proyecto Microblog: Definición de Aplicaciones
  • 16. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 2. Definición de Modelo de Datos:
  • 17. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 3.1. Crear el proyecto Blog: Dependiendo del sistema operativo y de la instalación realizada, puede ser necesario utilizar el prefijo php antes de cada comando Symfony. O: # php /versiones-symfony/symfonyx_x_x/data/bin/symfony generate:project blog # /versiones-symfony/symfonyx_x_x/data/bin/./symfony generate:project blog # mkdir /directorio/web/blog # cd /directorio/web/blog
  • 18. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 3.2. Crear las aplicaciones publico y administrador del proyecto Blog: # cd /directorio/web/blog # ./symfony generate:app publico # ./symfony generate:app administrador
  • 19.
  • 20. Rodrigo Miranda Blog: www.rodrigomiranda.cl Configuración del Servidor Web
  • 21. Rodrigo Miranda Blog: www.rodrigomiranda.cl Configuración del Servidor Web <VirtualHost *:80> ServerName blog.localhost DocumentRoot /directorio/web/blog/web DirectoryIndex index.php Alias /sf /versiones-symfony/symfonyx_x_x/data/web/sf Errorlog /var/log/httpd/blogError.log CustomLog /var/log/httpd/accessBlog.log common <Directory /versiones-symfony/symfonyx_x_x/data/web/sf> AllowOverride All Allow from All </Directory> <Directory /directorio/web/blog/web> Allowoverride All Allow from All </Directory> </VirtualHost>
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos 4. Construir el Modelo: 4.1 – Protegiendo la Base de Datos: # mysql –u root -p mysql> use mysql; mysql> update user set password=PASSWORD(‘cl1v3ade4’) where user=‘root’; mysql> flush privileges; mysql>
  • 27. Rodrigo Miranda Blog: www.rodrigomiranda.cl 4.2 Crear Base de Datos y Usuario: Proyecto, Aplicaciones y Módulos # mysql –u root -p mysql> create database blog default character set utf8 collate utf8_general_ci; mysql> grant all on blog.* to conicyt@localhost IDENTIFIED BY ‘c00ny’; mysql> flush privileges;
  • 28. Rodrigo Miranda Blog: www.rodrigomiranda.cl 4. Construir el Modelo: 4.1 – Tabla articulo: CREATE TABLE IF NOT EXISTS `blog_articulo` ( `id` int(11) unsigned NOT NULL auto_increment, `titulo` varchar(255) NOT NULL, `contenido` text NOT NULL, `modificacion` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mantenedor de Posts' AUTO_INCREMENT=1 ; Proyecto, Aplicaciones y Módulos
  • 29. Rodrigo Miranda Blog: www.rodrigomiranda.cl 4.2 – Tabla comentario: CREATE TABLE IF NOT EXISTS `blog_comentario` ( `id` int(11) unsigned NOT NULL auto_increment, `autor` varchar(255) NOT NULL, `contenido` text NOT NULL, `modificacion` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `id_blog_articulo` int(11) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `id_blog_articulo` (`id_blog_articulo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mantenedor de Comentarios' AUTO_INCREMENT=1 ; Proyecto, Aplicaciones y Módulos
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. Rodrigo Miranda Blog: www.rodrigomiranda.cl Clases base y clases personalizadas
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. Rodrigo Miranda Blog: www.rodrigomiranda.cl Administrador de la Aplicación
  • 49.
  • 50.
  • 51. Rodrigo Miranda Blog: www.rodrigomiranda.cl Administrador de la Aplicación
  • 52.
  • 53.
  • 54. Rodrigo Miranda Blog: www.rodrigomiranda.cl A continuación el controlador frontal administrador_dev.php nos muestra una página de error Administrador de la Aplicación
  • 55.
  • 56.
  • 57. Rodrigo Miranda Blog: www.rodrigomiranda.cl Vistazo al Código Generado
  • 58.
  • 59.
  • 60. Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69. Rodrigo Miranda Blog: www.rodrigomiranda.cl Parte Pública de la Aplicación
  • 70.
  • 71.
  • 72.
  • 73.
  • 74. Rodrigo Miranda Blog: www.rodrigomiranda.cl Preguntas?