Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Drupal 8 DX Changes

579 Aufrufe

Veröffentlicht am

In this presentation we will talk about API Changes from D7 to D8 with code examples and a demo.

The talk was given in Drupal camp Delhi and Mumbai by Piyuesh Kumar.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Drupal 8 DX Changes

  1. 1. Future Proofing Your Drupal Skills Piyuesh Kumar QED42 1
  2. 2. AGENDA: • Drupal 8 Api Changes: • Module info file • Routing System • Drupal 8 CMI & Using Config inspector • Writing forms and their submit handlers in d8. • Drupal 8 new plugin system • Basic changes to oftenly uses Drupal functions. 2
  3. 3. Info File • Info files changed to info.yml • Old info file: {d7.info} • New info file: {d8.info.yml} 3
  4. 4. Warning: Things are about to get... geeky. 4
  5. 5. ROUTING SYSTEM • d7(hook_menu): 5
  6. 6. D8 ROUTING SYSTEM(HOOK_MENU) • d8 conversion(hook_menu): • Hook_menu Lives until hook_default_menu_links() gets into core(https://drupal.org/node/2047633 ) 6
  7. 7. D8 ROUTING SYSTEM(ROUTING.YML) • d8 conversion: • Callbacks and permissions are defined in a yml file.{d8.routing.yml} 7
  8. 8. D8 ROUTING SYSTEM(WRITING CONTROLLERS) • d8 conversion: • Writing Page Callbacks 8
  9. 9. D8 ROUTING SYSTEM(CORE CONTROLLERS) • _form • _content • _controller • _entity_form • _entity_list • and many more.. 9
  10. 10. CONFIGURATION SCHEMA • R.I.P variable-get/variable_set 10
  11. 11. CONFIGURATION SCHEMA • When would Config data get saved? • UI changes (automatic): When the save button is clicked on an admin page, data gets written to the active store as well as db. • Code changes (manual): use admin/config/development/sync to sync the config in code with db and active store. 11
  12. 12. CMI(EXAMPLE) • D7: • D8: 12
  13. 13. USING CONFIG INSPECTOR • https://drupal.org/project/config_inspector/git-instructions 13
  14. 14. WRITING FORMS AND THEIR SUBMIT HANDLERS IN D8 • FormInterface(https://api.drupal.org/api/drupal/c ore!lib!Drupal!Core!Form!FormInterface.php/interfa ce/FormInterface/8) • SystemConfigFormBase(http://drupalcontrib.org /api/drupal/drupal!core!modules!system!lib!Drupal!s ystem!SystemConfigFormBase.php/class/System ConfigFormBase/8) 14
  15. 15. EXAMPLE • D7: 15
  16. 16. EXAMPLE • D8: 16
  17. 17. D8 FORMS(VALIDATION & SUBMISSION) • function validateForm(array &$form, array &$form_state) {} • function submitForm(array &$form, array &$form_state) {} 17
  18. 18. D8 FORMS(SYSTEM_SETTINGS_FORM ??) • Extends SystemConfigFormBase: 18
  19. 19. D8 FORMS(OTHER EXTENDABLE CLASSES IN CORE) • ConfirmFormBase(https://api.drupal.org/api/drupal/core!lib!Dru pal!Core!Form!ConfirmFormBase.php/class/ConfirmFormBase/ 8) • BulkFormBase(https://api.drupal.org/api/drupal/core!modules!sy stem!lib!Drupal!system!Plugin!views!field!BulkFormBase.php/8) • FieldInstanceFormBase • ViewsFormBase(https://api.drupal.org/api/drupal/core!modules!vi ews_ui!lib!Drupal!views_ui!Form!Ajax!ViewsFormBase.php/class/ ViewsFormBase/8) 19
  20. 20. WHAT HAPPENED TO DRUPAL_*_FORM FUNCTIONS? 20
  21. 21. DRUPAL 8 NEW PLUGIN SYSTEM 21
  22. 22. Module/hook system functions replaced with module handler service(https://drupal.org/n ode/1894902) 22
  23. 23. Basic Function from d7 to d8 • hook_init removed(https://drupal.org/node/2013014) • drupal_goto has been removed(https://drupal.org/node/2023537)e.g., drupal_goto($url)=>new RedirectResponse($url); • hook_boot has been removed(https://drupal.org/node/1909596) • $_GET[‘q'] has been removed(https://drupal.org/node/1659562) • drupal_*_form functions replaced with formBuilder service. e.g., drupal_get_from => Drupal::formBuilder()->getForm() • For more goto https://drupal.org/list-changes 23
  24. 24. References Demo code is available at https://github.com/piyuesh23/Drupal8-demo • https://drupal.org/list-changes • http://previousnext.com.au/blog/controlling-access-drupal- 8-routes-access-checks • https://drupal.org/node/1800686 • DrupalCon Portland Videos (http://www.youtube.com/playlist?list=PLpeDXSh 4nHjRlZKs7cj2L_kLI5osP5ERc) 24

×