introducción a symfony - decharlas
DESCRIPTION
Introducción a symfony a cargo de Alfonso Alba en las primeras jornadas symfony - decharlas.comTRANSCRIPT
![Page 1: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/1.jpg)
organizan patrocinan
colaboran
Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón
http://decharlas.uji.es/symfony
![Page 2: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/2.jpg)
Introducción a SymfonyAlfonso Alba, nerium.es
Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón
http://decharlas.uji.es/symfony
![Page 3: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/3.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Os parece fácil desayunar esto?
![Page 4: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/4.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Porqué utilizo symfony?
Creación de base de datosConexión a base datosAutenticaciónValidación de datos de entradaPaginación de listados
Defensa contra ataques XSS, CSRF, SQL Injection, etc.
Realización de tests unitarios y funcionales
Páginas de administración del sitio web
Lista de tareas que hacer al ejecutar un proyecto
![Page 5: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/5.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Cómo hacemos para ahorrarnos tiempo en estas tareas?
Nos creamos nuestro propio framework
includes/auth.inc.phpdb.inc.phpvalidador.inc.php...
<?php include includes/*.php...?>
![Page 6: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/6.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
![Page 7: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/7.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Qué consecuencias tuvo para mi empezar a usar symfony?
1. Tuve que dedicarle tiempo a aprender a usar el framework.
2. Tuve que aprender a hacer las cosas de otra manera:“the symfony way”
![Page 8: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/8.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Qué supone usar symfony?
Cambiar tu manera de hacer las cosas
Tienes que ceñirte a estructuras de directorios bien definidas
![Page 9: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/9.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
Año 2010
Dirigir un equipo de 15 personas
![Page 10: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/10.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
Año 2010Trabajando en equipo
Es más fácil introducir nuevas personas en el equipoEs más fácil cambiar a las personas de proyecto porque todos los
proyectos se hacen siguiendo los mismos principiosNadie tiene que mantener el frameworkEs mucho más fácil mantener las aplicacionesNos permite centrarnos en lo que realmente importa:
que la aplicación haga lo que nos pide el clienteReutilización de códigoBuenas prácticas: TDD, DRY, etc.El trabajar en equipo suaviza sustancialmente la curva de aprendizaje
![Page 11: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/11.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Qué más nos ofrece symfony?
<?php // Conectamos a la base de datos y hacemos una consulta
$link = mysql_connect('localhost', 'myuser', 'mypassword');
mysql_select_db('blog_db', $link);
$result = mysql_query('SELECT fecha, titulo FROM post', $link);
?>
<html>
<head>
<title>Entradas del blog</title>
</head>
<body>
<h1>Entradas del blog</h1>
<table>
<tr><th>Date</th><th>Title</th></tr>
<?php // Impresión de los resultados en HTML
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
printf("\t\t<td> %s </td>\n", $row['date']);
printf("\t\t<td> %s </td>\n", $row['title']);
echo "\t</tr>\n";
}?>
</table>
</body>
</html>
<?php mysql_close($link); ?>
![Page 12: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/12.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Qué más nos ofrece symfony?
Separación MVC
![Page 13: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/13.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Qué más nos ofrece symfony?
Controlador<?php class weblogActions extends
sfActions{ public function executeList() { $this->posts =
PostPeer::doSelect(new Criteria()); }}
Vista<?php slot('title', 'List of Posts') ?> <h1>Entradas del Blog</h1><table><tr><th>Fecha</th><th>Título</th></tr><?php foreach ($posts as $post): ?> <tr> <td><?php echo $post->getFecha() ?></td> <td><?php echo $post->getTitulo() ?></td> </tr><?php endforeach; ?></table>
![Page 14: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/14.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
¿Utilizo symfony para todo?
NO
...pero casi
![Page 15: Introducción a symfony - decharlas](https://reader033.vdocuments.pub/reader033/viewer/2022061122/547299a5b4af9fb40a8b50a9/html5/thumbnails/15.jpg)
Jornadas Symfony http://decharlas.uji.es/symfony
Gracias
@neriumtec
www.nerium.es
Jornadas Symfony http://decharlas.uji.es/symfony
Gracias