---
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
video:
  type: youtube
  id: qO_Wh5WE3VA
meta:
  og:
    title: Getting Started with Drupal 8 Module Development
    image:
      url: '%site.assets_url%/assets/images/talks/dclondon16.png'
      type: "image/png"
      height: 540
      width: 960
events:
  -
    name: DrupalCamp London 2016
    location: London, UK
    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.