drupal8&symfony

11

Click here to load reader

Upload: osvaldo-villarroel-maranon

Post on 20-Jun-2015

2.075 views

Category:

Technology


0 download

DESCRIPTION

Introducción a la manera en que Drupal 8 integrará Simfony 2

TRANSCRIPT

Page 1: Drupal8&symfony

Drupal & SymfonyPor Osvaldo Villarroel MarañonDesarrollador web en Koalasoft

Page 2: Drupal8&symfony

● Servirse de un proyecto libre con bibliotecas y técnicas modernas.

● Integrarse con otras aplicaciones.

● Symfony comparte la visión de construir una arquitectura a bajo nivel.

Porque!!!

Page 3: Drupal8&symfony

Drupal quiere proveer Servicios Web.(Web services and context core initicative)

Transformarse de un CMS de primera clase en un servidor de todo tipò de aplicaciones web de primera clase

¿Enserio? ya pues.... porque!!

Page 4: Drupal8&symfony

Vienen en la ruta: .../core/vendor.../core/vendor/symfony.../core/vendor/symfony-cmf

Componentes de Symfony en D8

Page 5: Drupal8&symfony

Define una capa Orientada a Objetos para especificaciones HTTP

use Symfony\Component\HttpFoundation\Request;$request = Request::createFromGlobals();$request = new Request( $_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);

Componente: HttpFoundation

Page 6: Drupal8&symfony

Convertir Request en Response.

Componente: HttpKernell

Page 7: Drupal8&symfony

Mapea un HTTP request en un conjunto de variables de configuración.Drupal 8 define las rutas de un módulo en un archivo de configuración YAML.Este es el sucesor de hook_menu

Componente:routing

contact_category_list: pattern: '/admin/structure/contact' defaults: _entity_list: 'contact_category' requirements: _permission: 'administer contact forms'

extracto de contact.routing.yml

Page 8: Drupal8&symfony

● Implementa un Observador de todo el sistema. Da lugar a un sistema de plugins para controlar Drupal.

● Esto reemplazará el sistema de Hooks gradualmente.

● Se prevé que D9 aún dispondrá hooks.

Componente: EventDispacher

Page 9: Drupal8&symfony

Es una manera de escribir clases desconectadas: reutilizables, testeables unitariamente, El contenedor DI permite su interacción.

Component: DependencyInjection

use Symfony\Component\DependencyInjection\Reference;// ...$container->setParameter('mailer.transport', 'sendmail');$container ->register('mailer', 'Mailer') ->addArgument('%mailer.transport%');

$container ->register('newsletter_manager', 'NewsletterManager') ->addMethodCall('setMailer', array(new Reference('mailer')));

Page 10: Drupal8&symfony

Esto hace que se carguen las clases cuando se necesitan. Nos preocuparemos menos del module_load_include.

PSR-0 Standard

Componente:ClassLoader

Page 11: Drupal8&symfony

● Blog de Drieshttp://buytaert.net/tag/the-future

● Componentes de symfonyhttp://symfony.com/components

● Symfony components in drupal 8http://crossfunctional.net/blog/2013/mar/symfony-components-in-drupal-8

Referencias