• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Plantillajornadasversion2 100708010347-phpapp01
 

Plantillajornadasversion2 100708010347-phpapp01

on

  • 407 views

 

Statistics

Views

Total Views
407
Views on SlideShare
405
Embed Views
2

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • En primer lugar, quiero dar las gracias a la organización por la invitación a participar en estas primeras jornadas de symfony que celebramos en España. Igualmente felicitarles por la iniciativa que seguro nos va a servir a todos para ampliar conocimientos y el abanico de contactos dentro de la comunidad symfony en nuestro país.
  • ¿Sabéis porqué pienso que los cereales tienen éxito? Porque son fáciles de preparar. En mi casa cocino yo, y si yo no estoy ¿sabéis que cena mi chica? Lo que véis aquí. ¿porqué? Porque tarda 1 minuto en preparáselo, está bueno y, admemás y lo más importante, puede cenar mientras hace lo que más le gusta: cotorrear con twitter con sus amigas. Symfony es justo eso: una herramienta que nos facilita la vida y nos deja más tiempo para hacer cosas más divertidas.
  • Os pongo en situación. Año 2004, después de varios años programando en perl y C, tengo que hacer un proyecto web. Nos reunimos con el cliente y nos sacamos la lista de especificaciones, que se convierte en la lista de tareas. Hacemos el proyecto y un mes después nos vuelven a llamar para que hagamos otro. Nos reunimos con el cliente y nos sacamos la lista de especificaciones, que se convierte en la lista de tareas. Como era de esperar, hay muchas tareas comunes del proyecto anterior. Igual con la tercera, y la cuarta, y la quinta etc,etc, etc.
  • ¿Qué acabamos haciendo para no repetirnos más que el ajo? Agrupamos las funciones en includes, para reutilizarlos en nuestros proyectos. Cuando llega la segunda web, comenzamos a agrupar las funcionalidades en includes. Habíamos descubierto la gallina de los huevos de oro: hacemos los proyectos en 30 minutos y cobrábamos 30 horas. En medio de este proceso, sale php 5 con soporte orientado a objetos ya de verdad, entonces nos damos cuenta que mejor que funciones deberíamos usar clases. Empezamos a convertir el código, pero claro, esto cuesta tiempo y tiempo es dinero, así que teníamos un nuevo coste en nuestro proceso productivo que es el mantenimiento del framework. Estando así las cosas, llega a mis manos esta revista. Os la muestro para que veáis que no me lo invento. En la página 35 hay un arítculo que se llama blabla. Me lo leí de camino a la oficina, y de vuelta a casa me lo volví a leer. Después me pasé unos días haciendo tutoriales de ruby on rails y al cabo de 3 días me miré al espejo y me dije “soy idiota”. ¿Por qué? Porque estos señores habían hecho lo mismo que nosotros solo que: 1. eran muchos más y eran mucho más listos (porque trabajan en comunidad) Por lo tanto, el resultado es muchísimo mejor Acto seguido, me puse a investigar y descubrí symfony Lo investigué en agosto.
  • Yo empecé a hacerme los vaqueros y cuando leí esta revista me di cuenta de que lo que tenúa uq hacer era comprarme unos en la tienda.
  • Punto 2: por ejemplo. Yo en las tablas intentaba evitar los ids autoincrementales. Si tenía una tabla empleado pues la clave primaria era el DNI y no me planteaba poner un id Otro ejemplo: los ficheros tienen que estar donde tienen que estar y se tienen que llamar como se tienen que llamar si quieres que todo funcione a la primera. Cuando empecé a usar symfony, los que lo hicieron me dijeron lo siguiente: mira, si quieres que te funcione el symfony vas a tener que poner un id en todas las tablas. En el momento en el que empecé a usar symfony, tuve que aceptar que unos señores me iban a dictar cómo tenía que yo que hacer las cosas, y yo tenía que aceptarlo y fiarme de ellos. Con el paso del tiempo, me di cuenta que estos dos , digamos, “inconvenientes” entre comillas, no han resultado ser un problema sino todo lo contrario.
  • Como espero haberos transmitido, symfony nos ofrece muchas cosas buenas a un precio muy asequible (aprender y cambiar un poco nuestra forma de pensar). Pero ¿qué más nos ofrece symfony?
  • El objetivo de esta sesión no es que me esuchéis hablar de mí sino de symfony. Nerium es la empresa en la que trabajo actualmente, durante el tiempo dedicado al networking estaré encantado de hablaros de ella, de lo que hacemos y cómo lo hacemos así como de daros mi tarjeta si la queréis.

Plantillajornadasversion2 100708010347-phpapp01 Plantillajornadasversion2 100708010347-phpapp01 Presentation Transcript

  • Castellón - 5 y 6 de Julio 2010 – Universitat Jaume I organizan patrocinan colaboran Jornadas Symfony 5 y 6 de julio 2010 Universitat Jaume I, Castellón http://decharlas.uji.es/symfony
  • Introducción a Symfony Alfonso Alba, nerium.es Jornadas Symfony 5 y 6 de julio 2010 Universitat Jaume I, Castellón http://decharlas.uji.es/symfony
  • ¿Os parece fácil desayunar esto?
  • ¿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
  • ¿Cómo hacemos para ahorrarnos tiempo en estas tareas? Nos creamos nuestro propio framework includes/ auth.inc.php db.inc.php validador.inc.php ... <?php include includes/*.php ... ?>
  •  
  • ¿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”
  • ¿Qué supone usar symfony?
    • Cambiar tu manera de hacer las cosas
      • Tienes que ceñirte a estructuras de directorios bien definidas
  • Año 2010 Dirigir un equipo de 15 personas
  • Año 2010 Trabajando 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
  • ¿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 &quot;t<tr>n&quot;;
    • printf(&quot;tt<td> %s </td>n&quot;, $row['date']);
    • printf(&quot;tt<td> %s </td>n&quot;, $row['title']);
    • echo &quot;t</tr>n&quot;;
    • }?>
    • </table>
    • </body>
    • </html>
    • <?php mysql_close($link); ?>
  • ¿Qué más nos ofrece symfony?
    • Separación MVC
  • ¿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>
  • ¿Utilizo symfony para todo? NO ...pero casi
  • Gracias Gracias [email_address] @neriumtec www.nerium.es Jornadas Symfony http://decharlas.uji.es/symfony