Advanced PHP for Drupal 8

A class covering newer PHP techniques you need to know for programming Drupal 8+

Course Overview

This class covers the new PHP techniques that you need to know to program modules for Drupal 8: object oriented programming, namespaces and autoloading, dependency injection, using Composer for dependency management, annotations, and event handlers.

Who is it for?

If you know the basics of PHP (variables, functions, conditionals, and loops) but want to learn the modern style of PHP used in Drupal 8, this is the class for you.

How is it taught?

The class will consist of two weekly video lessons, each around 3.5 hours long, and two weekly live Q&A sessions with the instructor. The lessons will cover the topics listed below and can be watched on-demand, anytime that is convenient for you. At the end of each lesson, you will be given an assignment to practice what you've learned. (We will provide web hosting for your practice work, so you don't need to worry about setting that up.)

The weekly live sessions will be conducted online, using the webinar software GotoMeeting. During the sessions, the instructor will answer all your questions from and will help troubleshoot any issues you have doing the assignment. (GotoMeeting allows us to view your computer, and take control of your keyboard and mouse if needed. So, we can see any error messages that you're seeing and figure out how to fix it right on the spot.) In addition to the live sessions, you will have access to an online forum to discuss assignments with other students and ask the instructor questions during the week.

After the course is over you can continue to access the lesson videos, free of charge, forever. There are no monthly subscription fees. Just come back and watch the lessons whenever you want. They are a great reference when you forget how to do something.

Lessons In This Class

Lesson 1: Object Oriented Programming

Introduction
00:06:12
How PHP Works
00:12:20
Using the DrupalTutor DevStack
00:28:42
Using the Example Code in This Class
00:15:38
Object Oriented Programming: stdClass Objects
00:08:02
Object Oriented Programming: Classes and Objects
00:38:55
Object Oriented Programming: Namespaces and Autoloading
00:28:31
Object Oriented Programming: Type Hinting
00:29:18
Object Oriented Programming: Static Members
00:28:03
Object Oriented Programming: Inheritance
00:40:12
Object Oriented Programming: Interfaces
00:23:14

Lesson 2: Developing Modern PHP Applications

Using Databases and SQL
00:48:37
Modern PHP: Introduction
00:14:56
Modern PHP: Managing Dependencies with Composer
00:22:05
Modern PHP: Annotations (and Doctrine)
00:37:26
Modern PHP: Dependency Injection
00:43:59
Modern PHP: Event Listeners / Subscribers
00:29:50
Class Wrap-Up
00:03:54

Appendix: Using Local Development Environments

An Overview of Local Development Environments
00:01:50
Using Lando as a Local Development Environment
00:39:00
Using DDev as a Local Development Environment
00:28:36
Using DrupalVM as a Local Development Environment
00:30:38

See It In Action

Watch this sample video to get a sense of what this course is like.

Watch Example Video

Wayne Eaker
Wayne Eaker
Drupal Architect, Developer, and Trainer

About Your Instructor

Wayne Eaker is the director and chief developer of Zengenuity. He's a Drupal expert with years of experience building highly-customized Drupal websites. He is also a seasoned trainer, having taught professionals, corporate clients and high school computer science students.

Handshake

Our Guarantee

Try this course for a week, and if you don't agree that it's the best way to learn Drupal, we'll refund the full price. No questions asked.

$ 148
Per student
  • 7+ hours of video lessons
  • 2 weekly live webinars with your instructor
  • Permanent access to the recordings of all the lessons and live sessions
  • A development environment for your practice Drupal site
  • Access to an online forum to ask questions of the instructor and discuss with other students
?

Your Class Session Details

Lesson Videos

Your lesson videos will be available starting January 25, 2021. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting February 3, 2021. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting February 17, 2021. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting March 3, 2021. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting March 17, 2021. You can start and stop the videos at your convenience, and use them as a reference forever!

Your lesson videos will be available starting March 31, 2021. You can start and stop the videos at your convenience, and use them as a reference forever!

Development Environment

Your practice development environment will be available from January 25, 2021 to February 17, 2021.

Your practice development environment will be available from February 3, 2021 to March 3, 2021.

Your practice development environment will be available from February 17, 2021 to March 17, 2021.

Your practice development environment will be available from March 3, 2021 to March 31, 2021.

Your practice development environment will be available from March 17, 2021 to April 14, 2021.

Your practice development environment will be available from March 31, 2021 to April 28, 2021.

Live Webinars

Webinars for this session are scheduled at the dates and times below. Don't worry. These webinars are strictly for questions and troubleshooting. They are not required to cover the lesson material, and you are not expected to attend them all. These webinars will also be recorded, so if you can't attend a webinar due to your time zone or other conflicts, you can submit your questions ahead of time and watch the answers on the recording.

Webinar Schedule
Date Time(s)
January 26 10:30am-11:30am & 4:00pm-5:00pm EST
February 2 10:30am-11:30am & 4:00pm-5:00pm EST
Date Time(s)
February 9 10:30am-11:30am & 4:00pm-5:00pm EST
February 16 10:30am-11:30am & 4:00pm-5:00pm EST
Date Time(s)
February 23 10:30am-11:30am & 4:00pm-5:00pm EST
March 2 10:30am-11:30am & 4:00pm-5:00pm EST
Date Time(s)
March 9 10:30am-11:30am & 4:00pm-5:00pm EST
March 16 10:30am-11:30am & 4:00pm-5:00pm EDT
Date Time(s)
March 23 10:30am-11:30am & 4:00pm-5:00pm EDT
March 30 10:30am-11:30am & 4:00pm-5:00pm EDT
Date Time(s)
April 6 10:30am-11:30am & 4:00pm-5:00pm EDT
April 13 10:30am-11:30am & 4:00pm-5:00pm EDT