Upgrade to Pro — share decks privately, control downloads, hide ads and more …

deSymfony 2012 - El entorno de Symfony2

deSymfony 2012 - El entorno de Symfony2

Avatar for Albert Jessurum

Albert Jessurum

June 16, 2012

More Decks by Albert Jessurum

Other Decks in Programming

Transcript

  1. ALBERT JESSURUM • Desarrollador en Acilia • Venezolano • @ajessu

    • http://github.com/ajessu Friday, June 15, 12
  2. ALBERT JESSURUM • Desarrollador en Acilia • Venezolano • @ajessu

    • http://github.com/ajessu • Symfony Fan Friday, June 15, 12
  3. ALBERT JESSURUM • Desarrollador en Acilia • Venezolano • @ajessu

    • http://github.com/ajessu • Symfony Fan Friday, June 15, 12
  4. • La palabra “Framework” empezó a ser “aceptada” • Symfony,

    Zend, Cake, CodeIgniter • Se satisfacen necesidades comunes de usuarios Friday, June 15, 12
  5. • La palabra “Framework” empezó a ser “aceptada” • Symfony,

    Zend, Cake, CodeIgniter • Se satisfacen necesidades comunes de usuarios • Descargadas como un paquete entero Friday, June 15, 12
  6. • ¿Quieres usar solo una parte de un Framework? •

    Baja TODO el framework e intenta usar una parte... Friday, June 15, 12
  7. • ¿Quieres usar solo una parte de un Framework? •

    Baja TODO el framework e intenta usar una parte... • Excepto que tiene dependencias Friday, June 15, 12
  8. • ¿Quieres usar solo una parte de un Framework? •

    Baja TODO el framework e intenta usar una parte... • Excepto que tiene dependencias • Se empieza a ver un cambio de mentalidad sobre frameworks Friday, June 15, 12
  9. • Componentes de frameworks mas desacoplados • Librerías de único

    uso externas • MicroFrameworks Friday, June 15, 12
  10. • Componentes de frameworks mas desacoplados • Librerías de único

    uso externas • MicroFrameworks • MicroPHP Manifesto Friday, June 15, 12
  11. • No soy un desarrollador Symfony, ni Zend, ni CakePHP

    SOY UN DESARROLLADOR PHP Friday, June 15, 12
  12. • No soy un desarrollador Symfony, ni Zend, ni CakePHP

    • PHP ya es suficientemente complicado SOY UN DESARROLLADOR PHP Friday, June 15, 12
  13. • Me gusta construir cosas pequeñas con propósitos simples ME

    GUSTA CONSTRUIR COSAS PEQUEÑAS Friday, June 15, 12
  14. • Me gusta construir cosas pequeñas con propósitos simples •

    Me gusta construir cosas que resuelvan problemas ME GUSTA CONSTRUIR COSAS PEQUEÑAS Friday, June 15, 12
  15. • Me gusta construir cosas pequeñas con propósitos simples •

    Me gusta construir cosas que resuelvan problemas • Me gusta construir cosas pequeñas que trabajen juntas para solucionar problemas mas grandes ME GUSTA CONSTRUIR COSAS PEQUEÑAS Friday, June 15, 12
  16. Y MAS COSAS SOBRE MENOS CODIGO • Quiero escribir menos

    código, no mas Friday, June 15, 12
  17. Y MAS COSAS SOBRE MENOS CODIGO • Quiero escribir menos

    código, no mas • Quiero código simple y sencillo de leer Friday, June 15, 12
  18. <?php use Monolog\Logger; use Monolog\Handler\StreamHandler; // crear un canal de

    log $log = new Logger('name'); $log->pushHandler( new StreamHandler( 'direccion/a/tu.log', Logger::WARNING) ); // añadir record al log $log->addWarning('Foo'); $log->addError('Bar'); Friday, June 15, 12
  19. <?php $yui = new CssCompressorFilter( '/direccion/a/tu/yuicompressor.jar' ); $fm = new

    FilterManager(); $fm->set('yui_css', $yui); $factory = new AssetFactory('/direccion/al/css'); $factory->setAssetManager(new AssetManager()); $factory->setFilterManager($fm); $formula = array( array('overall.css', 'social.css'), array('yui_css'), ); $lazyAm = new LazyAssetManager($factory); $lazyAm->setFormula('main', $formula); Friday, June 15, 12
  20. # app/config/config.yml assetic: debug: %kernel.debug% use_controller: false bundles: [ ]

    #java: /usr/bin/java filters: cssrewrite: ~ yui_css: jar: %kernel.root_dir%/Resources/java/yuicomp.jar AsseticBundle Friday, June 15, 12
  21. <link href="{{ asset('css/reset.css') }}" rel="stylesheet" type="text/css" /> <link href="{{ asset('css/960.css')

    }}" rel="stylesheet" type="text/css" /> <link href="{{ asset('css/main.css') }}" rel="stylesheet" type="text/css" /> {% stylesheets '@AcmeFooBundle/Resources/public/css/*' filter='yui_css' %} <link rel="stylesheet" type="text/css" href="{{ asset_url }}" /> {% endstylesheets %} Twig Template Friday, June 15, 12
  22. <?php $width = //anchura final $height = //altura final $src

    = imagecreatefrompng('/direccion/a/imagen.png'); $dest = imagecreatetruecolor($width, $height); imagealphablending($dest, false); imagesavealpha($dest, true); imagecopyresampled($dest, $src, 0, 0, 0, 0, $width, $height, imagesx($src), imagesy($src)); imagepng($dest,'/direccion/a/redimensionada/image.png'); Redimensionar con GD Friday, June 15, 12
  23. <?php $width = //anchura final $height = //altura final $image

    = new Imagick('/direccion/a/imagen.png'); $image->adaptiveResizeImage($width, $height); $image->writeImage('/direccion/a/redimensionada/imagen.png'); Redimensionar con ImageMagick Friday, June 15, 12
  24. <?php $width = //anchura final $height = //altura final $imagine

    = new Imagine\Gd\Imagine(); $imagine->open('/direccion/a/imagen.png') ->resize(new Imagine\Box($width, $height)) ->save('/direccion/a/redimensionada/imagen.png'); Redimensionar con Imagine (GD) Friday, June 15, 12
  25. <?php $width = //anchura final $height = //altura final $imagine

    = new Imagine\Imagick\Imagine(); $imagine->open('/direccion/a/imagen.png') ->resize(new Imagine\Box($width, $height)) ->save('/direccion/a/redimensionada/imagen.png'); Redimensionar con Imagine (ImageMagick) Friday, June 15, 12
  26. <?php $imagine = new Imagine\Gd\Imagine(); $mode = Imagine\ImageInterface::THUMBNAIL_OUTBOUND; //o modo

    $mode = Imagine\ImageInterface::THUMBNAIL_INSET; $imagine->open('/direccion/a/logo.png') ->thumbnail(new Imagine\Box(100, 100), $mode) ->save('/direccion/a/logo/thumbs/logo.png'); Creación de thumbs Friday, June 15, 12
  27. # app/config/config.yml liip_imagine: filter_sets: my_thumb: quality: 75 filters: thumbnail: {

    size: [120, 90], mode: outbound } LiipImagineBundle Friday, June 15, 12
  28. # app/config/config.yml liip_imagine: filter_sets: my_thumb: quality: 75 filters: thumbnail: {

    size: [120, 90], mode: outbound } LiipImagineBundle <img  src="{{  '/relative/path/to/image.jpg'  |  imagine_filter('my_thumb')  }}"/> Friday, June 15, 12
  29. BUSCA PRIMERO! PUEDE QUE YA ESTE INVENTADO La proxima vez

    que tengas una necesidad. Friday, June 15, 12
  30. ¿Intentaste hacer algo, y estuviste medio día pegandote con ello

    y por fin has dado con la solución? Friday, June 15, 12
  31. DOCUMENTA! ¿Intentaste hacer algo, y estuviste medio día pegandote con

    ello y por fin has dado con la solución? Friday, June 15, 12