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

Drupal 8 and Symfony - #DrupalJam 2013

Drupal 8 and Symfony - #DrupalJam 2013

Mike van Riel

May 22, 2013
Tweet

More Decks by Mike van Riel

Other Decks in Technology

Transcript

  1. View Slide

  2. Mike van Riel

    Composer bij
    Ingewikkeld

    Lead Developer van
    phpDocumentor

    Peetvader van twee
    lieve honden

    View Slide

  3. 3 / 32
    Durf te innoveren

    Ontwikkeltijd

    Onderhoud

    Ondersteuning
    Photo: http://www.flickr.com/photos/zachklein/54389823

    View Slide

  4. 4 / 32
    Web Services and Context Core Initiative (WSCCI)
    The Web Services and Context Core Initiative
    (WSCCI) aims to transform Drupal from a
    first-class CMS to a first-class REST server
    with a first-class CMS on top of it. To do that,
    we must give Drupal a unified, powerful context
    system that will support smarter, context-
    sensitive, easily cacheable block-centric
    layouts and non-page responses using a robust
    unified plugin mechanism.

    View Slide

  5. 5 / 32
    Stel nou ..

    View Slide

  6. 6 / 32
    Dat iemand anders je
    kan helpen?

    View Slide

  7. 7 / 32
    Dat diegene je kan
    steunen?

    View Slide

  8. 8 / 32
    Adopteer al het goede

    Bespaart
    ontwikkeltijd

    Minder
    onderhoud

    Welke
    ondersteuning?

    View Slide

  9. 9
    Symfony2?
    Waarom

    View Slide

  10. 10 / 32
    Bestaat sinds
    2005

    View Slide

  11. 11 / 32
    Meer dan
    550
    contributors
    In 2012 alleen

    View Slide

  12. 12 / 32
    Stabiel
    Wordt ondersteund
    door SensioLabs

    View Slide

  13. 13
    Dus: een nieuwe schat aan
    ervaring, kennis en code.

    View Slide

  14. 14 / 32
    Toepassingen

    View Slide

  15. 15 / 32
    Een goede basis
    Composer
    Event Dispatcher Hooks Yaml
    Dependency Injection Container

    View Slide

  16. 16 / 32
    Composer

    Beheert packages

    Makkelijke installatie

    Makkelijk uitbreiden

    Biedt autoloading

    http://getcomposer.org

    View Slide

  17. 17 / 32
    Dependency Injection

    Uitwisselbare
    eenheden

    Testbaarder

    Makkelijker om
    componenten te
    integreren

    View Slide

  18. 18 / 32
    Aanhaken op kernfunctionaliteit
    Hooks

    Zoals altijd

    I.i.g. nog tot Drupal 9
    Event Dispatcher

    Kern van Drupal 8

    Nieuwe evolutie van hooks

    Flexibeler

    Kan geïnjecteerd

    View Slide

  19. 19
    Oh nee, een anekdote!
    “Wat heeft Symfony2
    voor phpDocumentor
    gedaan?”
    En ik was al zo moe.

    View Slide

  20. 20 / 32
    HTTP Interactie
    Basis
    HTTPKernel Routing Caching
    HTTPFoundation

    View Slide

  21. 21 / 32
    Praten over HTTP

    Duidelijk gespecificeerd RFC2616

    Geïmplementeerd in
    HTTPFoundation en HTTPKernel

    Biedt alle basis die een web
    framework nodig heeft

    Inhaken mogelijk met Event
    Dispatcher

    View Slide

  22. 22 / 32
    Request

    View Slide

  23. 23 / 32
    Wat zit er in een request?

    Query (GET) parameters

    Request (POST) parameters

    Server variabelen

    Cookies

    Headers

    Files

    View Slide

  24. 24 / 32
    Response

    View Slide

  25. 25 / 32
    Wat zit er in een response?

    Headers

    Status

    Inhoud

    View Slide

  26. 26 / 32
    Caching
    use Symfony\Component\HttpKernel\HttpCache\HttpCache;
    use Symfony\Component\HttpKernel\HttpCache\Store;
    $framework = new Simplex\Framework(
    $dispatcher, $matcher, $resolver
    );
    $framework = new HttpCache(
    $framework, new Store(__DIR__.'/../cache')
    );
    $framework->handle($request)->send();

    View Slide

  27. 27 / 32
    Routing

    View Slide

  28. 28 / 32
    Routing

    Koppelt een URL aan een stuk code

    Gebaseerd op Symfony2 CMF Routing

    Configuratie op basis van YAML

    View Slide

  29. 29 / 32
    Andere componenten
    Symfony

    Validator

    Process

    Translation

    Serializer
    Anderen

    Twig

    Doctrine Annotations

    Assetic

    Guzzle

    EasyRDF

    View Slide

  30. 30
    Vragen?
    Houdt contact
    @mvriel
    [email protected]
    http://php.ingewikkeld.net
    http://phpdoc.org
    Feedback
    Laat alsjeblieft feedback
    achter op:
    http://tinyurl.com/drupaljam

    View Slide

  31. 31
    Nog 1 ding ..

    View Slide

  32. 32
    Draag bij;
    Drupal heeft je nodig!

    View Slide