Drupal 8 module development
Minimum price
Suggested price

Drupal 8 module development

Learn how to write Drupal 8 modules

About the Book

Dependency injection, Namespaces, Plugins. Drupal 8 has got all of it. Fortunately, it is more developer friendly than before, but unfortunately, it raises the bar. How do you know when to create a service? How to port your module to Drupal 8? Should you write this piece of code as a plugin? Surely, you can find answers by googling. Drupal has excellent documentation. The hard part is, you will end up spending a lot of time finding out how to do things the "Drupal 8" way, and little time writing code.This book is aimed at cutting that time. Most of the content is the notes I took while porting modules to Drupal 8 and studying the code of already ported modules.

Drupal 8 is a moving target. I keep updating the book and the code as frequently as I can to keep it working with the latest release. If you find anything inconsistent, let me know and I'll update it. You have been warned, this is a WIP book.

The target audience is Drupal module developers. It should be OK even if you are entirely new to Drupal but have PHP experience.

I'd be glad if you give me any feedback, point out any mistakes etc. The fastest way to reach me is via my twitter handle(@lakshminp). I'll give due credits once the book is complete.


When is the book expected to be completed?

I plan to add new chapters in future, but a major chunk of the book will be completed by July 2017,

Is there a plan to have a print version?

None as of now. If there is a demand, I'll put up dead tree editions for sale.

Can I start using Drupal 8 now?

Damn yes. At the time I was contemplating about writing this book(July 2015), we were just 12 critical issues away from a beta release. Start learning Drupal 8 today, your future self will thank you.

Will this book help me in porting my Drupal 7 module to Drupal 8?

Sure as hell. Once you know your way around Drupal 8(which I assume this book will help you with) and have a good idea of how your module works, you're all set to port.

I'm new to Drupal development. Can I start with this book?

Yes. It should be digestible. You should know PHP and a thing or two about web frameworks though. I'd recommend Mastering Object Oriented PHP and PHP the "right" way as companion books if you are new to OO PHP and modern PHP programming practices respectively.

Hey, where is the code accompanying this book?

Its here. Feel free to fork it.

I found out a bug in your code/book.

Tweet or mail me about it, I'll get it fixed and give you due credits.

Your code is not working.

Thanks for spotting it. My apologies. I've written my code and tested it with Drupal 8 beta-6. Make sure you're running that version. The APIs keep changing. I periodically update the code to work with the latest beta release.

About the Author

Lakshmi Narasimhan
Lakshmi Narasimhan

Hi! I'm Lakshmi Narasimhan. I'm a full stack web developer with some systems engineering background from my previous incarnation. I mostly work with Drupal nowadays, though I defect to other frameworks like Django. I like to occasionally tinker with Javascript, CSS and play around with different stuff, like devops and functional programming languages.

Table of Contents

  • Basic Concepts
    • Composer
    • Namespaces
    • Annotations
  • 1. Routing and Controllers
    • Routes
    • Your first route
    • Routes with parameters
    • Custom permissions
    • Dynamic routes
    • Controllers
  • 2. Users, Authentication and Authorization
    • How user authentication happens in Drupal 8
    • Writing a custom authenticator
  • 3. Forms
  • 4. Services and Dependency Injection
    • Understanding services
    • Writing your first service
    • Tagged services
  • 5. Configuration Management
  • 6. Plugins
    • What are plugins?
    • How are plugins different from services
    • Plugins used in core
    • Plugin discovery
    • Implementing a custom plugin, first cut
    • Polishing the custom plugin
  • 7. Fields
  • 8. Entities
    • Creating and loading entities
    • Reading and updating entities
    • Entity field query
    • Entity Validation
  • 10. Multilingual capabilities
  • 11. RESTful web services
  • Drupal Console
  • The Migrate module

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub