Post on 13-Jun-2015
organizan patrocinan
colaboran
Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón
http://decharlas.uji.es/symfony
Introducción a SymfonyAlfonso Alba, nerium.es
Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón
http://decharlas.uji.es/symfony
Jornadas Symfony http://decharlas.uji.es/symfony
¿Os parece fácil desayunar esto?
Jornadas Symfony http://decharlas.uji.es/symfony
¿Porqué utilizo symfony?
Creación de base de datos
Conexión a base datos
Autenticación
Validación de datos de entrada
Paginació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
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...?>
Jornadas Symfony http://decharlas.uji.es/symfony
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”
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
Jornadas Symfony http://decharlas.uji.es/symfony
Año 2010
Dirigir un equipo de 15 personas
Jornadas Symfony http://decharlas.uji.es/symfony
Año 2010Trabajando en equipo
Es más fácil introducir nuevas personas en el equipo
Es más fácil cambiar a las personas de proyecto porque todos los proyectos se hacen siguiendo los mismos principios
Nadie tiene que mantener el framework
Es mucho más fácil mantener las aplicaciones
Nos permite centrarnos en lo que realmente importa:
que la aplicación haga lo que nos pide el cliente
Reutilización de código
Buenas prácticas: TDD, DRY, etc.
El trabajar en equipo suaviza sustancialmente la curva de aprendizaje
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); ?>
Jornadas Symfony http://decharlas.uji.es/symfony
¿Qué más nos ofrece symfony?
Separación MVC
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>
Jornadas Symfony http://decharlas.uji.es/symfony
¿Utilizo symfony para todo?
NO
...pero casi
Jornadas Symfony http://decharlas.uji.es/symfony
Gracias
aalba@nerium.es
@neriumtec
www.nerium.es
Jornadas Symfony http://decharlas.uji.es/symfony
Gracias