![](/sites/default/files/styles/max_800w/public/tutorial_icons/docker-icon-white_16.png?itok=JB_bLPpa)
In this PHP tutorial, you'll learn about namespaces and the use
statement in PHP.
In this PHP tutorial, learn about what an autoloader is and how you can use it to replace require
statements in your PHP applications.
In this PHP tutorial, learn how the use
statement works with the autoloader to replace the require
statements that we removed in a previous lesson.
In this PHP tutorial we'll continue our look at namespaces and how they work in PHP applications.
In this PHP tutorial we'll introduce Exceptions in PHP.
In this PHP tutorial, you'll learn about the different exception classes that are available to you use in your PHP applications.
In this tutorial, learn about PHP's built-in magic methods: __toString()
, __get()
, and __set()
.
In this tutorial, learn how to use PHP's built-in interface ArrayAccess
and when you might want to use it.
Additional resources
In this tutorial, learn how to implement PHP's built-in interface IteratorAggregate
to loop over an object.
In this PHP tutorial, we'll introduce Traits in PHP and how you can utilize them to reuse your code.
In modern PHP, you're going to spend a lot of time working with other people's classes: via external libraries that you bring into your project to get things done faster. Of course, when you do that: you can't actually edit their code if you need to change or add some behavior.
Fortunately, object-oriented code gives us some really neat ways to deal with this limitation. In this tutorial, you'll learn a method called composition in which we'll create a wrapper class, which has some subtle advantages over using inheritance.
Additional resources
Object-Oriented PHP (Topic) (Drupalize.Me)
Learn Drupal
GuideCreating a container set to support Drupal development requires some specialized knowledge. Now that we understand containers, images, how to use Docker Compose (docker-compose
), and how to select images on Docker Hub, we're ready to build a container set to support Drupal development.
In this tutorial, we'll:
- Select images of software that we'll need to run Drupal
- Create a new Compose file
- Configure bind volumes and environment variables to support the site
- Test the configuration
See Dockerize an Existing Project if you already have Drupal installed.
Often, there's an existing Drush command that does most of what you want, but needs just a few tweaks or enhancements to make it meet your project requirements. Maybe the existing core Drush command has the functionality but lacks some additional validation. Or maybe you need to add an additional option to perform some application-specific debugging logic for all commands in a group.
Drush hooks can be used to alter, extend, and enhance existing Drush commands.
In this tutorial we'll:
- Learn how to alter a Drush command with code in a custom module
- Declare a validation hook that alters the
user:password
command with additional password validation logic
By the end of this tutorial you should be able to alter a Drush command provided by Drush core or a contributed module with your own custom code.