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.
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. Info File
• Info files changed to info.yml
• Old info file: {d7.info}
• New info file: {d8.info.yml}
3
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
13. USING CONFIG INSPECTOR
• https://drupal.org/project/config_inspector/git-instructions
13
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
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. 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