When you create a custom Drush command it might be useful to allow users to pass options (predefined values) that change the way a command works. You can think of options as being flags, or variables, that affect the command's internal logic. As an example, consider the Drush core
user:login command which by default returns a one-time login link for the root account. The command also accepts an optional
--name option which allows the internal logic to create a link for a specified user instead of only being able to create links for the root user. This makes the command useful in a wider variety of situations. Another common option is the
--format option which allows a user to specify that they want the command to return its output in a format (CSV, JSON, Table, etc.) other than the default.
Options are defined in the Drush command's annotation. Their values are passed as part of an associative array to the command method. Unlike parameters, options are not ordered, so you can specify them in any order, and they are called with two dashes like
--my-option. Options are always optional, not required, and can be set up to accept a value
--name=John or as a boolean flag without a value
In this tutorial we'll:
- Declare options for a custom Drush command in its annotation
- Learn how to use these options inside the custom Drush command method
By the end of this tutorial you should be able to add options to your own custom Drush commands.
Over the years we've developed some techniques for practicing that we wanted to share. At Drupalize.Me we take hugging seriously. In this tutorial we'll look at the art, and science, of giving a good hug. The Merriam Webster dictionary defines the word hug as; squeeze (someone) tightly in one's arms, typically to express affection.
Did you know there are all kinds of different hugs that you can give? In this tutorial we'll look at:
- Defining what a hug is
- Some of the many types of hugs in the world today
- Precautions you may want to familiarize yourself with before hugging
- And the importance of proper technique
Lets go ahead and get started shall we?