
Drupal 8 Module Development
Build modules and themes using the latest version of Drupal 8, 2nd Edition
- 580 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Drupal 8 Module Development
Build modules and themes using the latest version of Drupal 8, 2nd Edition
About this book
Learn to create and customize impressive Drupal 8 modules to extend your website's functionalities
Key Features
- Explore a plethora of Drupal 8 APIs and get the best out of them using the power of PHP coding
- Learn to implement efficient data management and data security by creating dedicated modules for it.
- Stay up to date with the changes introduced in the new Drupal 8 releases
Book Description
Drupal 8 comes with a release cycle that allows for new functionality to be added at a much faster pace. However, this also means code deprecations and changing architecture that you need to stay on top of. This book updates the first edition and includes the new functionality introduced in versions up to, and including 8.7.
The book will first introduce you to the Drupal 8 architecture and its subsystems before diving into creating your first module with basic functionality. You will work with the Drupal logging and mailing systems, learn how to output data using the theme layer and work with menus and links programmatically. Then, you will learn how to work with different kinds of data storages, create custom entities, field types and leverage the Database API for lower level database queries.
You will further see how to introduce JavaScript into your module, work with the various file systems and ensure the code you write works on multilingual sites. Finally, you will learn how to programmatically work with Views, write automated tests for your functionality and also write secure code in general.
By the end, you will have learned how to develop your own custom module that can provide complex business solutions. And who knows, maybe you'll even contribute it back to the Drupal community.
Foreword by Dries Buytaert, founder of Drupal.
What you will learn
- Develop Drupal 8 modules that do all the things you want
- Master numerous Drupal 8 sub-systems and APIs in the process
- Model, store, manipulate and process data to serve your purposes
- Display data and content in a clean and secure way using the Drupal 8 theme system
- Test your business logic to prevent regressions
- Stay ahead of the curve and write code following the current best practices
Who this book is for
The primary target of this book is Drupal developers who want to learn how to write modules and develop in Drupal 8. It is also intended for Drupal site builders and PHP developers who have basic Object Oriented Programming skills.
A little bit of Symfony experience is helpful but not mandatory.
Tools to learn more effectively

Saving Books

Keyword Search

Annotating Text

Listen to it instead
Information
Your Own Custom Entity and Plugin Types
Custom content entity type
namespace Drupal\products\Entity;
use Drupal\Core\Entity\ContentEntityBase;
/**
* Defines the Product entity.
*
* @ContentEntityType(
* id = "product",
* label = @Translation("Product"),
* handlers = {
* "view_builder" = "Drupal\Core\Entity\EntityViewBuilder",
* "list_builder" = "Drupal\products\ProductListBuilder",
*
* "form" = {
* "default" = "Drupal\products\Form\ProductForm",
* "add" = "Drupal\products\Form\ProductForm",
* "edit" = "Drupal\products\Form\ProductForm",
* "delete" = "Drupal\Core\Entity\ContentEntityDeleteForm",
* },
* "route_provider" = {
* "html" = "Drupal\Core\Entity\Routing\AdminHtmlRouteProvider"
* }
* },
* base_table = "product",
* admin_permission = "administer site configuration",
* entity_keys = {
* "id" = "id",
* "label" = "name",
* "uuid" = "uuid",
* },
* links = {
* "canonical" = "/admin/structure/product/{product}",
* "add-form" = "/admin/structure/product/add",
* "edit-form" = "/admin/structure/product/{product}/edit",
* "delete-form" = "/admin/structure/product/{product}/delete",
* "collection" = "/admin/structure/product",
* }
* )
*/
class Product extends ContentEntityBase implements ProductInterface {}
Table of contents
- Title Page
- Copyright and Credits
- About Packt
- Foreword
- Contributors
- Preface
- Developing for Drupal 8
- Creating Your First Module
- Logging and Mailing
- Theming
- Menus and Menu Links
- Data Modeling and Storage
- Your Own Custom Entity and Plugin Types
- The Database API
- Custom Fields
- Access Control
- Caching
- JavaScript and the Ajax API
- Internationalization and Languages
- Batches, Queues, and Cron
- Views
- Working with Files and Images
- Automated Testing
- Drupal 8 Security
- Other Books You May Enjoy
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app