Cover; Title Page; Copyright and Credits; About Packt; Foreword; Contributors; Table of Contents; Preface; Chapter 1: Developing for Drupal 8; Introducing Drupal (for developers); Developing for Drupal 8; Technologies that drive Drupal; PHP; Databases and MySQL; The web server; HTML, CSS, and JavaScript; Drupal architecture; Drupal core, modules, and themes; Hooks, plugins, and events; Services and the dependency injection container; From request to response; Drupal's major subsystems; Routing; Entities; Fields; Menus; Views; Forms; Configuration; Plugins; The theme system; Caching
Other subsystemsTools for developing in Drupal; Version control; Composer; The API site and coding standards; The developer (Devel) module; Drush (the Drupal shell); Drupal Console; Developer settings; Summary; Chapter 2: Creating Your First Module; Creating a module; Your first hook implementation; Route and controller; The route; Route variables; Namespaces; The Controller; Services; What is a service?; The HelloWorldSalutation service; Tagged services; Using services in Drupal 8; Injecting the service into our Controller; Invoked Controllers; The form; Altering forms
Custom submit handlersRendering forms; Service dependencies; Blocks; Our first block plugin; Block configuration; Working with links; The URL; The link; Which way to link?; Event Dispatcher and redirects; Redirecting from a Controller; Redirecting from a subscriber; Dispatching events; Summary; Chapter 3: Logging and Mailing; Logging; The Drupal 8 logging theory; Our own logger channel; Our own logger; Logging for Hello World; Logging summary; Mail API; The theory of the Mail API; Implementing hook_mail(); Sending emails; Altering someone else's emails; Custom mail plugins; The mail plugin
Using mail pluginsTokens; The Token API; Using tokens; Defining new tokens; Token summary; Summary; Chapter 4: Theming; Business logic versus presentation logic; Twig; Theme hooks; Theme hook suggestions; Render arrays; The structure of a render array; #type; #theme; #markup; The render pipeline; Assets and libraries; Libraries; Attaching libraries; Common theme hooks; Lists; Links; Tables; Attributes; Layouts; Defining layouts; Rendering a layout; Theming our Hello World module; Summary; Chapter 5: Menus and Menu Links; The menu system; Menus; Menu links; Multiple types of menu links
Local tasksLocal actions; Contextual links; MenuLink trees; Menu link tree manipulators; Menu active trail; Rendering menus; Working with menu links; Defining menu links; Working with menu links; Defining local tasks; Defining local actions; Defining contextual links; Summary; Chapter 6: Data Modeling and Storage; Different types of data storage; State API; TempStore; Private TempStore; Shared TempStore; Tempstore conclusion; UserData; Configuration; Introduction; What is configuration used for?; Managing configuration; Different types of configuration; Configuration storage; Schema