---
title: Getting Started with Drupal 8 Module Development
event:
    name: DrupalCamp London 2016
    website: http://drupalcamp.london
    location: London, UK
tags:
    - conference
    - php
    - drupal
    - drupalcamp
    - drupal-8
tweets: yes
code: https://github.com/opdavies/dclondon16-d8-module
slides:
    embed: <script async class="speakerdeck-embed" data-id="0041804e52664d12a8e31cd118264813" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
    url: https://speakerdeck.com/opdavies/getting-started-with-drupal-8-module-development
date: 2016-03-05 14:00
video:
    embed: <iframe width="560" height="315" src="https://www.youtube.com/embed/qO_Wh5WE3VA" frameborder="0" allowfullscreen></iframe>
    url: https://www.youtube.com/watch?v=qO_Wh5WE3VA
meta:
    og:
        title: Getting Started with Drupal 8 Module Development
        image:
            url: 'https://www.oliverdavies.uk/assets/images/talks/dclondon16.png'
            type: 'image/png'
            height: 540
            width: 960
---
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.