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
- 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.
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.
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 — https://www.daggerhart.com/drupal-8-hooks-events-event-subscribers/
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