drupal8&symfony
DESCRIPTION
Introducción a la manera en que Drupal 8 integrará Simfony 2TRANSCRIPT
Drupal & SymfonyPor Osvaldo Villarroel MarañonDesarrollador web en Koalasoft
● 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!!!
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!!
Vienen en la ruta: .../core/vendor.../core/vendor/symfony.../core/vendor/symfony-cmf
Componentes de Symfony en D8
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
Convertir Request en Response.
Componente: HttpKernell
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
● 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
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')));
Esto hace que se carguen las clases cuando se necesitan. Nos preocuparemos menos del module_load_include.
PSR-0 Standard
Componente:ClassLoader
● 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