Book Image

Drush User's Guide

By : Juan Pablo Novillo Requena
Book Image

Drush User's Guide

By: Juan Pablo Novillo Requena

Overview of this book

<p>Drush is a command line interface for Drupal. Most of the tasks for building and maintaining a website are repetitive and involve filling in forms on administration pages. The majority of these tasks can be achieved with a single Drush command, shortening the development and maintenance time of a project drastically.</p> <p><em>Drush User's Guide</em> will allow you to be more productive and efficient in building and maintaining your Drupal sites through the command line. You will learn to install Drush on different platforms, and manage and configure your Drupal site by learning how to use and create Drush commands.</p> <p>Become a Drush expert by exploring its command toolkit; customizing it to suit your needs, and extending it with contributed modules.</p> <p>The command line will allow you to download, enable and upgrade Drupal projects in seconds. Back up your files, code and data in one single file, clear the cache, interact with databases, and deploy sites to remote machines - all using simply the command line. Use Drush with your own commands or alter existing ones; and extend the toolkit with a long list of contributed modules.</p> <p><em>Drush User's Guide</em> has everything you need to extend your use of the command line to easily build and manage your Drupal sites.</p>
Table of Contents (10 chapters)

Generating a custom module codebase


During a project, it is very likely that we will have to create one or more custom modules. This, at the very least, involves creating a directory at sites/all/modules/custom/module_name, plus the module_name.info and module_name.module files within that directory with some hook implementations. Module Builder provides a very powerful Drush command to generate all the boilerplate code that we need to start working with our module.

Note

Unfortunately there is no Windows support for Module Builder.

We will create a module that implements the hooks hook_menu(), hook_block(), hook_theme(), and hook_permission(). The command mb-build launches an interactive process to gather all the information needed to create the module. Here is an example, where we download and install it and then create our custom module:

$ drush pm-download module_builder
Project module_builder (7.x-2.x-dev) downloaded to [success] /home/juampy/projects/drupal/sites/all/modules/contrib...