Drupal 9 Module Development

Höfundur Daniel Sipos, Antonio De Marco

Útgefandi Packt Publishing

Snið ePub

Print ISBN 9781800204621

Útgáfa 3

Útgáfuár 2020

5.490 kr.

Description

Efnisyfirlit

  • Drupal 9 Module Development
  • Third Edition
  • Why subscribe?
  • Foreword
  • Contributors
  • About the author
  • About the reviewers
  • Packt is searching for authors like you
  • Preface
  • Who this book is for
  • What this book covers
  • To get the most out of this book
  • Download the example code files
  • Conventions used
  • Get in touch
  • Reviews
  • Chapter 1: Developing for Drupal 9
  • Introducing Drupal (for developers)
  • How did we get to Drupal 9?
  • Developing for Drupal
  • Technologies that drive Drupal
  • PHP
  • Databases and MySQL
  • The web server
  • Drupal architecture
  • Drupal’s major subsystems
  • Tools for developing in Drupal
  • Summary
  • Chapter 2: Creating Your First Module
  • Creating a module
  • Your first hook implementation
  • Route and controller
  • Services
  • Using services in Drupal
  • Injecting the service into our Controller
  • Invoked Controllers
  • The Form API
  • Altering forms
  • Custom submit handlers
  • Rendering 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 logging theory
  • Our own logger channel
  • Our own logger
  • Logging for Hello World
  • Logging recap
  • Mail API
  • The theory behind the Mail API
  • Implementing hook_mail()
  • Sending emails
  • Altering someone else’s emails
  • Custom mail plugins
  • Mail API recap
  • Tokens
  • The Token API
  • Using tokens
  • Defining new tokens
  • Tokens recap
  • Summary
  • Chapter 4: Theming
  • Business logic versus presentation logic
  • Twig
  • Theme hooks
  • Theme hook suggestions
  • Render arrays
  • The structure of a render array
  • The render pipeline
  • Assets and libraries
  • 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
  • MenuLink trees
  • Rendering menus
  • Working with menu links
  • Defining menu links
  • Manipulating 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 recap
  • UserData API
  • Configuration API
  • Introduction
  • Configuration storage
  • Configuration recap
  • Entities
  • Content versus configuration entity types
  • Entity type plugins
  • Fields
  • Entity types recap
  • TypedData
  • Why TypedData?
  • What is TypedData?
  • The low-level API
  • Content entities
  • TypedData recap
  • Interacting with the Entity API
  • Querying entities
  • Loading entities
  • Reading entities
  • Manipulating entities
  • Creating entities
  • Rendering content entities
  • Pseudo-fields
  • Entity validation
  • Summary
  • Chapter 7: Your Own Custom Entity and Plugin Types
  • Our custom content entity type
  • Entity updates
  • Our custom plugin type
  • Our custom configuration entity type
  • The Importer plugin
  • Content entity bundles
  • Our own Drush command
  • Summary
  • Chapter 8: The Database API
  • The Schema API
  • Running queries
  • Select queries
  • Pagers
  • Insert queries
  • Update queries
  • Delete queries
  • Transactions
  • Query alters
  • Update hooks
  • Post update hooks
  • Summary
  • Chapter 9: Custom Fields
  • A recap of Field type plugins
  • Field type
  • Field widget
  • Field formatter
  • Field settings
  • Using our custom field type as a base field
  • Summary
  • Chapter 10: Access Control
  • Introduction to the Drupal access system
  • Roles and permissions under the hood
  • Defining permissions
  • Checking the user credentials
  • Route access
  • Custom route access
  • Programmatically checking access on routes
  • Bonus – dynamic route options for access control
  • CSRF protection on routes
  • Altering routes
  • Entity access
  • Injecting services into Entity handlers
  • Entity access hooks
  • Field access
  • Entity access in routes
  • Node access grants
  • Block access
  • Summary
  • Chapter 11: Caching
  • Introduction to caching
  • Cacheability metadata
  • Cache tags
  • Cache contexts
  • Max-age
  • Using the cache metadata
  • Placeholders and lazy building
  • Lazy builders
  • Using the Cache API
  • Creating our own cache bin
  • Summary
  • Chapter 12: JavaScript and the Ajax API
  • JavaScript in Drupal
  • Drupal behaviors
  • Drupal settings
  • The Ajax API
  • Ajax links
  • Ajax in forms
  • The States (Form) system
  • Summary
  • Chapter 13: Internationalization and Languages
  • Introduction to the multilingual ecosystem
  • Language
  • Content translation
  • Configuration translation
  • Interface translation
  • Internationalization
  • Content entities and the Translation API
  • Summary
  • Chapter 14: Batches, Queues, and Cron
  • Batch-powered update hooks
  • Batch operations
  • Creating the batch
  • Batch operations
  • Cron
  • Queues
  • Introduction to the Queue API
  • Cron-based queues
  • Processing a queue programmatically
  • The Lock API
  • Summary
  • Chapter 15: Views
  • Entities in Views
  • Exposing custom data to Views
  • Views data
  • Custom Views field
  • Field configuration
  • Custom Views filter
  • Custom Views argument
  • Views theming
  • Views hooks
  • Summary
  • Chapter 16: Working with Files and Images
  • The filesystem
  • Stream wrappers
  • Managed versus unmanaged files
  • Using the File and Image fields
  • Working with managed files
  • Attaching managed files to entities
  • Helpful functions for dealing with managed files
  • Managed file uploads
  • Our own stream wrapper
  • Working with unmanaged files
  • Private filesystem
  • Images
  • Image toolkits
  • Image styles
  • Rendering images
  • Summary
  • Chapter 17: Automated Testing
  • Testing methodologies in Drupal 9
  • PHPUnit
  • Registering tests
  • Unit tests
  • Mocked dependencies
  • Kernel tests
  • TeamCleaner test
  • CsvImporter test
  • Functional tests
  • Configuration for Functional tests
  • Hello World page test
  • Hello World form test
  • Functional JavaScript tests
  • Time test
  • CsvImporter test
  • Summary
  • Chapter 18: Drupal Security
  • Cross-Site Scripting (XSS)
  • Sanitization methods in Drupal 9
  • Double escaping
  • SQL Injection
  • Cross-Site Request Forgery (CSRF)
  • Summary
  • Other Books You May Enjoy
  • Leave a review – let other readers know what you think
Show More

Additional information

Veldu vöru

Rafbók til eignar

Reviews

There are no reviews yet.

Be the first to review “Drupal 9 Module Development”

Netfang þitt verður ekki birt. Nauðsynlegir reitir eru merktir *

Aðrar vörur

1
    1
    Karfan þín
    A Sociology of Family Life
    A Sociology of Family Life
    Veldu vöru:

    Rafbók til eignar

    1 X 2.890 kr. = 2.890 kr.