Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
<?php en el 2015
@asiermarques
meetup.com/PHP-Sevilla
Un poco de historia
@rasmus
1994
Se estrena Stargate y Pulp Fiction
Rasmus Lerdorf (@rasmus) crea un toolkit CGI en C
llamado “Personal Home Page Tool...
1995-1996
Rasmus Lerdorf reescribe en dos ocasiones
PHPTools desde cero para crear finalmente lo que se
conoció como PHP/FI...
2000
Andi Gutmans y Zeev Suraski crean el motor Zend,
que da vida a php4.
PHP4 introduce algunas características important...
2004
Aparece php5 con un potente y renovado motor
Zend.
La orientación a objetos es la característica y mejora
principal d...
2008
Aparece php5.3.
Mejora el rendimiento e introduce características
nuevas como los namespaces y los closures.
Maduran ...
2011
Aparece php5.4
Mejora el rendimiento e introduce características
nuevas como los namespaces y los closures.
Mejora la...
2015
php7
declare(strict_types=1);
function add(int $a, int $b): int {
return $a + $b;
}
Soluciones en php
para el día a día del desarrollo web
Coding Standars
PSR-1 y PSR-2
Symfony y Zend coding standars
PSR-4
Dependencias
Composer
packagist.org
HTTP
HTTP Foundation
ZendHTTP
Templating
Twig
Blitz (Creado y utilizado por
Badoo.com)
<!DOCTYPE html>
<html>
<head>
<title>{%block title ‘título por defecto’%}</title>
</head>
<body>
{% block body %}{% endblo...
{% extends ‘layout.html.twig’ %}
{% block title ‘Últimos artículos’ %}
{% block body %}
{% for item in posts %}
<h1>{{ pos...
Assets
Assetic
WPassetic
{% javascripts
‘/js/jquery.min.js’
‘/js/bootstrap.min.js’
‘/js/app.js’
‘/js/app.module.js’ %}
<script src="{{ asset_url }}...
Bases de datos
PDO
Doctrine2
Propel
Eloquent
$entityManager = $doctrine->getManager();
for($i = 0; $i<100; $i++){
$post = new Post();
$post->setId( $i );
$post->setNam...
i18n
i18n
• mbstring
• Symfony translation Component
i10n
• intl
• twig intl extension
{{ 1122.55|localizedcurrency(‘EUR’, ‘es’) }}
//1.122,55
{{ 1122.55|localizedcurrency(‘EUR’, ‘en’) }}
//1,122.55
{{ “+1day”...
Línea de comandos
Symfony Console Component
Zend Command
class SayHelloCommand extends Command
{
protected function configure()
{
$this->setName(‘say:hello’)
->addArgument('name')...
Frameworks
Symfony2
Laravel
Zend
YII y otros…
MicroFrameworks
SlimPHP
Silex
$app = new SilexApplication();
$app->get( '/hola/{name}',
function($name) use($app) {
return 'Hola ‘. $app->escape($name);...
Testing
PHPUnit
Behat
IC/EC con Jenkins, codeship, travis…
Inyección de dependencias
Symfony DependencyInjection
Component
Pimple
CMS
WordPress
Drupal
Bolt
Joomla y otros…
eCommerce
Prestashop
Magento
ElCodi y otros
Deploy
Magallanes
Ansible
Recomendaciones
phptherightway.com
coding standars
Inyección de dependencias
Testing
Deploy e IC
Gracias
Asier Marqués
@asiermarques
Próxima SlideShare
Cargando en…5
×
Próximo SlideShare
PHP 7 – What changed internally? (PHP Barcelona 2015)
Siguiente
Descargar para leer sin conexión y ver en pantalla completa.

Compartir

PHP en el 2015

Descargar para leer sin conexión

Charla para el GDG de Sevilla

Libros relacionados

Gratis con una prueba de 30 días de Scribd

Ver todo

PHP en el 2015

  1. 1. <?php en el 2015 @asiermarques
  2. 2. meetup.com/PHP-Sevilla
  3. 3. Un poco de historia
  4. 4. @rasmus
  5. 5. 1994 Se estrena Stargate y Pulp Fiction Rasmus Lerdorf (@rasmus) crea un toolkit CGI en C llamado “Personal Home Page Tools” para hacer su currículum online.
  6. 6. 1995-1996 Rasmus Lerdorf reescribe en dos ocasiones PHPTools desde cero para crear finalmente lo que se conoció como PHP/FI En 1998 se llegó a los 60.000 dominios que utilizaban php, el 1% de Internet.
  7. 7. 2000 Andi Gutmans y Zeev Suraski crean el motor Zend, que da vida a php4. PHP4 introduce algunas características importantes como una aproximación a la Orientación a Objetos. Aparecen canales donde conseguir extensiones y librerías como PECL y PEAR
  8. 8. 2004 Aparece php5 con un potente y renovado motor Zend. La orientación a objetos es la característica y mejora principal de este lenguaje. Se consolidan motores de templates como Smarty, que permite eliminar el código espagueti Se introduce Reflection.
  9. 9. 2008 Aparece php5.3. Mejora el rendimiento e introduce características nuevas como los namespaces y los closures. Maduran y se establecen frameworks que hacen uso de patrones de diseño y buenas prácticas como Symfony, CakePHP o ZendFramework.
  10. 10. 2011 Aparece php5.4 Mejora el rendimiento e introduce características nuevas como los namespaces y los closures. Mejora la sintaxis del lenguaje, se introducen nuevas features como Traits y un servidor web embebido. Empieza a desarrollarse composer.
  11. 11. 2015 php7
  12. 12. declare(strict_types=1); function add(int $a, int $b): int { return $a + $b; }
  13. 13. Soluciones en php para el día a día del desarrollo web
  14. 14. Coding Standars PSR-1 y PSR-2 Symfony y Zend coding standars PSR-4
  15. 15. Dependencias Composer packagist.org
  16. 16. HTTP HTTP Foundation ZendHTTP
  17. 17. Templating Twig Blitz (Creado y utilizado por Badoo.com)
  18. 18. <!DOCTYPE html> <html> <head> <title>{%block title ‘título por defecto’%}</title> </head> <body> {% block body %}{% endblock %} {% block javascript %}{% endblock %} </body> </html>
  19. 19. {% extends ‘layout.html.twig’ %} {% block title ‘Últimos artículos’ %} {% block body %} {% for item in posts %} <h1>{{ post.title }}</h1> {% endfor %} {% endblock %}
  20. 20. Assets Assetic WPassetic
  21. 21. {% javascripts ‘/js/jquery.min.js’ ‘/js/bootstrap.min.js’ ‘/js/app.js’ ‘/js/app.module.js’ %} <script src="{{ asset_url }}”></script> {% endjavascripts %}
  22. 22. Bases de datos PDO Doctrine2 Propel Eloquent
  23. 23. $entityManager = $doctrine->getManager(); for($i = 0; $i<100; $i++){ $post = new Post(); $post->setId( $i ); $post->setName( “Sin título” + $i ); $entityManager->persist( $post ); } $entityManager->flush();
  24. 24. i18n i18n • mbstring • Symfony translation Component i10n • intl • twig intl extension
  25. 25. {{ 1122.55|localizedcurrency(‘EUR’, ‘es’) }} //1.122,55 {{ 1122.55|localizedcurrency(‘EUR’, ‘en’) }} //1,122.55 {{ “+1day”|localizeddate(‘short’,’none’, ‘es’) }} //17/10/15
  26. 26. Línea de comandos Symfony Console Component Zend Command
  27. 27. class SayHelloCommand extends Command { protected function configure() { $this->setName(‘say:hello’) ->addArgument('name'); } protected function execute(InputInterface $input, OutputInterface $output) { $name = $input->getArgument(‘name'); if ($name) { $text = 'Hello '.$name; } else { $text = 'Hello'; } $output->writeln($text); } }
  28. 28. Frameworks Symfony2 Laravel Zend YII y otros…
  29. 29. MicroFrameworks SlimPHP Silex
  30. 30. $app = new SilexApplication(); $app->get( '/hola/{name}', function($name) use($app) { return 'Hola ‘. $app->escape($name); }); $app->run();
  31. 31. Testing PHPUnit Behat IC/EC con Jenkins, codeship, travis…
  32. 32. Inyección de dependencias Symfony DependencyInjection Component Pimple
  33. 33. CMS WordPress Drupal Bolt Joomla y otros…
  34. 34. eCommerce Prestashop Magento ElCodi y otros
  35. 35. Deploy Magallanes Ansible
  36. 36. Recomendaciones phptherightway.com coding standars Inyección de dependencias Testing Deploy e IC
  37. 37. Gracias Asier Marqués @asiermarques
  • akelator1234

    Oct. 20, 2015
  • mordraug

    Oct. 19, 2015
  • AntonioMarin5

    Oct. 18, 2015
  • migmae

    Oct. 17, 2015
  • gerardguiu

    Oct. 17, 2015

Charla para el GDG de Sevilla

Vistas

Total de vistas

1.295

En Slideshare

0

De embebidos

0

Número de embebidos

114

Acciones

Descargas

7

Compartidos

0

Comentarios

0

Me gusta

5

×