This repository has been archived on 2025-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
oliverdavies.uk-old-sculpin/docs/talks/getting-started-with-drupal-8-module-development/index.html
2017-07-21 18:44:18 +01:00

256 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="no-js" lang="en-GB">
<head>
<title>Getting Started with Drupal 8 Module Development | Oliver Davies</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:url" content="https://www.oliverdavies.uk/talks/getting-started-with-drupal-8-module-development/">
<meta property="og:title" content="Getting Started with Drupal 8 Module Development"/>
<meta property="og:image" content="https://www.oliverdavies.uk/assets/images/talks/dclondon16.png"/>
<meta property="og:image:type" content="image/png"/>
<meta property="og:image:width" content="960"/>
<meta property="og:image:height" content="540"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image:src" content="https://www.oliverdavies.uk/assets/images/talks/dclondon16.png">
<meta name="twitter:creator" content="@opdavies"/>
<meta name="twitter:title" content="Getting Started with Drupal 8 Module Development"/>
<meta name="twitter:text:description" content=""/>
<meta name="twitter:site" content="@opdavies"/>
<link rel="stylesheet" href="https://www.oliverdavies.uk/assets/css/main.css">
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=57" sizes="57x57">
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=114" sizes="114x114">
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=72" sizes="72x72">
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=144" sizes="144x144">
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=60" sizes="60x60">
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=120" sizes="120x120">
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=76" sizes="76x76">
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=152" sizes="152x152">
<link rel="icon" href="/assets/images/me-precedent.jpg?s=160" sizes="160x160">
<link rel="icon" href="/assets/images/me-precedent.jpg?s=96" sizes="96x96">
<link rel="icon" href="/assets/images/me-precedent.jpg?s=32" sizes="32x32">
<link rel="icon" href="/assets/images/me-precedent.jpg?s=16" sizes="16x16">
</head>
<body class="talk talk-full">
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="https://www.oliverdavies.uk/">Oliver Davies</a>
</div>
<div id="navbar" class="collapse navbar-collapse" role="navigation">
<ul class="nav navbar-nav">
<li class="">
<a href="/">About</a>
</li>
<li class="">
<a href="/experience">Experience</a>
</li>
<li class="">
<a href="/testimonials">Testimonials</a>
</li>
<li class="active">
<a href="/talks">Talks</a>
</li>
<li class="">
<a href="/blog">Blog</a>
</li>
<li class="">
<a href="/contact">Contact</a>
</li>
</ul>
</div> </div>
</nav>
<div class="container">
<div class="row">
<main class="col-md-9">
<h1>Getting Started with Drupal 8 Module Development</h1>
<div class="talk-description">
<p>New to object-orientated PHP, Symfony or YAML, and want to get started building modules in Drupal 8? This is the session for you!</p>
<p>In this session, well cover:</p>
<ul>
<li>Where Drupal 8 modules are located, and how they are structured.</li>
<li>How to build a simple module, including our own permissions and routes.</li>
<li>How to add your own controller and service classes.</li>
<li>What is the service/dependency injection container, and how do we use it?</li>
<li>How we can use tools such as PhpStorm and Drupal Console to speed up the process.</li>
</ul>
<p>What we wont be covering:</p>
<ul>
<li>Automated testing in PHPUnit or Simpletest.</li>
<li>Adding third party libraries and external dependencies via Composer.</li>
</ul>
</div>
<div class="talk-slides">
<h2>Slides</h2>
<div class="presentation">
<script async class="speakerdeck-embed" data-id="0041804e52664d12a8e31cd118264813" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
</div> </div>
<div class="talk-video">
<h2>Video</h2>
<div class="embed-container">
<iframe width="560" height="315" src="https://www.youtube.com/embed/qO_Wh5WE3VA" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<div class="talk-events">
<h2>Events</h2>
<div class="table-responsive">
<table class="table table-striped talks-table">
<thead>
<tr>
<th style="width: 20%">Date</th>
<th>Event</th>
<th style="width: 10%">Feedback</th>
</tr>
</thead>
<tbody>
<tr>
<td class="vertical-middle">
5 March 2016
</td>
<td class="vertical-middle">
DrupalCamp London 2016
<small class="display-block">
London, UK
</small>
</td>
<td class="vertical-middle">
</td>
</tr>
</tbody>
</table>
</div>
</div> </main>
<div class="col-md-3">
<div class="panel badges text-center">
<a href="https://assoc.drupal.org/membership" title="Im a Drupal Association member." class="is-block">
<img
src="//www.oliverdavies.uk/assets/images/badges/da-individual-member.png"
alt="Drupal Association Individual Member"
width="200"
/>
</a>
<div class="is-flex align-items-center">
<img
src="//www.oliverdavies.uk/assets/images/badges/acquia-d8-developer.png"
alt="Acquia Certified Developer - Drupal 8 Exam Badge"
class="is-2"
/>
<img
src="//www.oliverdavies.uk/assets/images/badges/acquia-d8-back-end.png"
alt="Acquia Certified Back End Specialist - Drupal 8 Exam Badge"
class="is-2"
/>
</div>
<a href="http://conference.phpnw.org.uk/phpnw17" class="is-block">
<img src="//www.oliverdavies.uk/assets/images/badges/phpnw17.png" alt="">
</a>
</div>
<div class="availability panel panel-default">
<div class="panel-heading">Availability</div>
<div class="panel-body">
<p>
<i class="fa fa-thumbs-o-up text-warning"></i>
Currently have limited part-time capacity
</p>
<p>
<i class="fa fa-thumbs-o-down text-danger"></i>
Currently no spare full-time capacity.
</p>
</div>
</div>
</div>
</div> </div>
<footer class="container">
<p class="copyright">
&copy; 2010-2017 Oliver Davies. Built with <a href="https://sculpin.io">Sculpin</a>.
</p>
<div class="meetups">
<h2>Things that I organise</h2>
<ul>
<li class="meetups--drupal-bristol">
<a href="http://www.drupalbristol.org.uk" title="Drupal Bristol">
<img
src="//www.oliverdavies.uk/assets/images/meetups/drupal-bristol.jpeg"
alt="Drupal Bristol logo"
>
</a>
</li>
<li class="meetups--drupalcamp-bristol">
<a href="http://www.drupalcampbristol.co.uk" title="DrupalCamp Bristol">
<img
src="//www.oliverdavies.uk/assets/images/meetups/drupalcamp-bristol.png"
alt="DrupalCamp Bristol logo"
>
</a>
</li>
<li class="meetups--phpsw">
<a href="http://phpsw.uk" title="PHPSW">
<img
src="//www.oliverdavies.uk/assets/images/meetups/phpsw.jpeg"
alt="PHPSW logo"
>
</a>
</li>
</ul>
</div>
</footer>
<script src="https://www.oliverdavies.uk/assets/js/site.js"></script>
<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-11967257-1', 'auto'); ga('send', 'pageview');</script>
</body>
</html>