---
title: Getting Started with Drupal 8 Module Development
description: How to build your first module for Drupal 8.
tags: [conference, php, drupal, drupalcamp, drupal-8]
tweets: yes
code: https://github.com/opdavies/dclondon16-d8-module
speakerdeck:
    id: 0041804e52664d12a8e31cd118264813
    ratio: '1.77777777777778'
    url: https://speakerdeck.com/opdavies/getting-started-with-drupal-8-module-development
youtube:
    id: qO_Wh5WE3VA
meta:
    og:
        title: Getting Started with Drupal 8 Module Development
        image:
            url: /images/talks/dclondon16.png
            type: 'image/png'
            height: 540
            width: 960
events:
    - event: drupalcamp_london_16
      date: 2016-03-05
---
New to object-orientated PHP, Symfony or YAML, and want to get started building modules in Drupal 8? This is the session for you!

In this session, we’ll cover:

* Where Drupal 8 modules are located, and how they are structured.
* How to build a simple module, including our own permissions and routes.
* How to add your own controller and service classes.
* What is the service/dependency injection container, and how do we use it?
* How we can use tools such as PhpStorm and Drupal Console to speed up the process.

What we won’t be covering:

* Automated testing in PHPUnit or Simpletest.
* Adding third party libraries and external dependencies via Composer.