Essential Drupal 8 Developer Training

The 2018 Drupal Camp Asheville was really great, in my opinion our best yet, and I had a lot of fun meeting people, presenting, and generally causing trouble. If you haven’t been to Drupal Camp Asheville, and you’re interested in Drupal or Asheville, you should definitely make a point to visit us soon.

This year I did a full day training on Drupal 8 development and I recorded the whole thing so that anyone could check it out. Here is that training–



Intended for developers who have no, or limited, experience with Drupal 8 or OOP. Familiarity with Drupal 7 will be beneficial but isn’t required. This workshop will help jump start your Drupal 8 coding work by laying the foundation for all the big concepts that have been recently introduced. More than just teaching these ideas, I will attempt to provide understanding behind the potential motivations for these changes and how they relate to the work you’re already familiar with from Drupal 7 or other procedural frameworks/CMSs.

We’ll discuss and write a custom module together that uses all of these concepts:

  • Introduction to Object Oriented Programming
  • PSR4: Namespaces and Autoloading
  • What is Symfony?
  • Drupal 8 file structure – What you need to know.
  • YAML files & Annotations
  • Services
  • Hooks vs Events
  • Custom Forms
  • Custom Block Types
  • Custom Routing with Access Control

Part 1: Introduction to Object Oriented Programming

“From calculation to calculator”, this presentation looks briefly at the purpose of an object oriented mindset and syntax in PHP.

Slides: 1. Introduction to Object Oriented Programming

Part 2: Autoloading and Namespaces

A look at the purpose and approaches to autoloading and namespaces in PHP with some light introduction to composer.

Slides: 2. Autoloading and Namespaces

Part 3: Symfony & Drupal

This section looks at what Symfony is and provides an overview of how Drupal 8 makes use of the framework.

Slides: 3. Symfony & Drupal + YAML & Annotations + File Structure

Part 4: Services in Drupal 8

We look at what a “service” is, what problem the Service Locator pattern solves, and how to make use of and implement your own services in Drupal 8.

Slides: 4. Services & Drupal

Part 5: Hooks & Events

This presentation is a deep dive into a comparison of Drupal hooks & the new event system in Drupal 8. I’ve also written a blog post that pairs well with this video —

Slides: 5. Hooks & Events

Part 6: Routes & Forms

This presentation takes a look at creating custom routes, controllers, and forms in Drupal 8. I start with a comparison of Drupal 7’s hook_menu(), and how it has been split into many different parts in Drupal 8’s routing system.

Slides: 6. Drupal Routes & Forms

Part 7: Custom Block Types

A new powerful part of Drupal 8 core, custom blocks and block types are a very valuable tool to have in your developer toolbox.

Slides: 7. Custom Block Types


2 Thoughts


March 19, 2019

Really helpful series of tutorials. They made me feel 100x more comfortable with Drupal 8.

Thank you!

September 12, 2019

دعني أقول لك بالعربية التالي .

أنت شخص رائع و مبدع

شكرا لك

Leave a Reply

Your email address will not be published. Required fields are marked *