Our next meetup

  • October
  • 10
  • 2019

Tests Make Good Architects

Speaker: Sam Burns

This talk takes a look at the positive impacts that automated tests can have on architecture.

Unit testing in PHPUnit or PhpSpec, as well as behavioural testing using tools like Behat, have a noticeable effect on software architecture.

Tested (or testable) code is often easier to work with, cleaner, and has architectural advantages.

We will take a look at some of the impacts that a good test suite can have on your application’s architecture, and how to let your tests be your architect.'

About the speaker:

Sam is a PHP developer and software architect with a love of test automation.
image/svg+xml Sainsbury's HQ 33 Holborn, London, EC1N 2HT

Past meetups

  • 05 September 2019 Developing Symfony applications in 2019 Fabien Potencier

    Symfony has evolved a lot during the last few years. Developing applications from Symfony...

  • 01 August 2019 Learn By Doing (It Wrong) Mike Lehan

    As developers we should always be keen to learn more about the work...

  • 04 July 2019 Bro, you even code? The politics of tool shaming James Seconde

    We've all heard it: 'What?! You're using X framework/language/tool? You must suck at...

  • 06 June 2019 Preemptive multitasking using coroutines in PHP Swoole Bruce Dou

    PHP Swoole enables PHP developers to write high-performance, scalable, concurrent TCP, UDP, Unix...

  • 09 May 2019 How MySQL can boost (or kill) your PHP application Federico Razzoli

    The database is typically the most critical part of a system. It is...

  • 04 April 2019 Running your PHP site on AWS Lambda with Bref Neal Brooks

    Ever find yourself deploying your PHP app to your EC2 boxes and wondering...

  • 07 March 2019 Test Driven Development: Dipping your toe into tests first Mark Bradley

    Writing tests before you write production code can be an intimidating concept, but...

  • 07 February 2019 The Web API Mike Oram

    The web API has been a vital part of the JavaScript ecosystem for...

  • 03 January 2019 Let's get you geared up to tackle legacy code Frederick Vanbrabant

    The first step of working with legacy code is realizing the incredible amount...

  • 01 November 2018 Scraping with PHP Adam Cable

    This talk will be a short introduction to scraping, and how to do...

  • 04 October 2018 Move your apps into containers Gregorz Drozd

    This talk will be a short introduction to docker, containers and other buzzwords. Details

  • 06 September 2018 Squash Bugs with Static Analysis Dave Liddament

    All developers know that bugs are bad and finding them can be difficult....

  • 02 August 2018 Lightning Talks Lightning Talks

    This month we have decided to change things up from the normal format...

  • 05 July 2018 Progressive Web Apps and offline development Mike Oram

    There is a lot of talk about Progressive Web Apps at the moment....

  • 07 June 2018 BDD in Practice Ciaran McNulty

    We'll look at some common Behaviour Driven Development practices, and show how you...

  • 03 May 2018 Dr Sheldon Cooper Presents: Fun with Flags Michael Heap

    No no, not country flags, feature flags! Feature flags are a powerful technique...

  • 05 April 2018 Machine learning and trend analysis in PHP Michael Cullum

    The world we live in is one where data is one of the...

  • 06 March 2018 Five Tips for Aspiring Tech Team Managers Rob Waller

    Management isn't a topic that developers like to discuss a lot, it simply...

  • 01 February 2018 Online schema migration: a real world case study Diego Mariani

    In this talk, we will see a walkthrough of the online schema migration...

  • 04 January 2018 Introduction to PHP Extensions Derick Rethans

    In this presentation, we take a first look at writing PHP extensions. Using...

  • 02 November 2017 Graphs are Everywhere Christopher Hoult

    No - not charts! Graphs are a data structure that are more than...

  • 05 October 2017 Back to school: Sorting algorithms Jelena Kosakovskaja

    Sorting is the fundamental and the most common used operation in our everyday...

  • 07 September 2017 Content Security Policies: Let's break stuff Matt Brunt

    Content Security Policies are another tool we should have in our security toolbelt...

  • 03 August 2017 An Introduction to Lean and Functional Domain Modelling Marcello Duarte

    Rich domain models, inspired by imperative objective-oriented approaches, dominate our industry. But lean...

  • 06 July 2017 The Philosophy of Programming Michael Burgess

    What is programming? What are programs? What are programmers doing when they write...

  • 01 June 2017 Functional Programming in PHP Zsolt Szende

    It's becoming increasingly difficult to ignore the term 'Functional Programming' while reading online...

  • 04 May 2017 Enterprise Service Bus Implementation Maciej Rudnicki

    What is ESB?

    Why use it?


  • 06 April 2017 Building an e-commerce platform for 2 million shoppers with Symfony Daniel James

    A luxury e-commerce platform for 2 million users from scratch, how hard can...

  • 02 March 2017 OOP is not dead Marco Troisi

    Is Object Oriented Programming still worth the effort? Many seem to think it's...

  • 02 February 2017 Open API Billie Thompson

    During this talk I will introduce you to the concepts of publishing an...

  • 05 January 2017 PHP Zend Certification. What? How? Why? Jelena Kosakovskaja

    Zend Certifications set the industry standard for PHP certifications, recognizing outstanding expertise and...

  • 07 December 2016 December Social PHP London

    After a really good year in the world of PHP, we'd like to...

  • 03 November 2016 Real world deployments - Empowering developers, delivering features Rob Elkin

    Real world deployments - Enabling engineers to ship code to users quickly and...

  • 06 October 2016 Event Driven Architecture Loïc Faugeron

    Have you ever wondered what ReactPHP meant by 'non blocking I/O'? Or why...

  • 01 September 2016 Grown-up MongoDB: Schema Design Derick Rethans

    Although MongoDB is a non-relational database, it is still very important that you...

  • 04 August 2016 Getting started with Test-Driven Laravel Amo Chohan

    "Amo was recently asked by a developer who is new to the Laravel...

  • 07 July 2016 Docker in Production David McKay

    Docker - the awesome utility that allows you to create a single, runnable, distributable...

  • 02 June 2016 How I built a commercial side project, on the Tube Rik Heywood

    Join Rik Heywood as he will be talking about a side project that he...

  • 05 May 2016 Shipping Faster With Storyplayer Stuart Herbert

    In the Autumn of 2015, Stuart took on a project to upgrade a payment...

  • 07 April 2016 Dockerizing your CI/CD pipelines Paul Dragoonis

    This talk is intermediate level and should have a bit of something for everyone...

  • 04 February 2016 Lightning talks Various Speakers

    PHP London is a volunteer organised community group to promote knowledge sharing and best...

  • 07 January 2016 Imposter Syndrome: Am I Faking It? Mark Bradley

    Do you feel like you're faking it? like you don't feel good enough to...

  • 03 December 2015 PHP 7 Derick Rethans

    With PHP 7 being released today, it is time to show what's in there....

  • 05 November 2015 Breaking boundaries with FastCGI Andrew Carter

    Efficient and performant applications are fantastic; they keep server load, costs and response times...

  • 01 October 2015 Kubernetes Billie Thompson

    During this talk I will give you a guide from a developers perspective of...