An annual PHP conference in South Africa. We try to get the best of the best to share knowledge. So far we have succeeded.

Wednesday 26th September 2018

09:00
4
Building Microservices Using the Serverless Framework
Workshop by Gareth McCumskey (2 hours, 30 minutes)

What do you get when you combine Microservices and Serverless technology? A big mess you need help sorting out. That’s where the Serverless Framework comes in to help save the day. Gareth will walk through creating your first serverless microservice on AWS Lambda. In less than 2 hours you can have a ready to roll API endpoint with throttling capabilities, caching and load balancing and never have to spin up a single server. Come see the two biggest buzz words in our industry in action for yourself.

12:30 Best practices for crafting high quality PHP apps
Workshop by James Titcumb (4 hour)

This prototype works, but it’s not pretty, and now it’s in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it’s imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this tutorial, we’ll take a deep dive into each of these areas, looking at how we can make positive, actionable change in our workflow. This workshop intends to improve your skills in planning, documenting, some aspects of development, testing and delivery of software for both legacy and greenfield projects. The workshop is made up of multiple exercises, allowing dynamic exploration into the various aspects of the software development life cycle. In each practical exercise, we’ll brainstorm and investigate solutions, ensuring they are future-proofed, well tested and lead to the ultimate goal of confidence in delivering stable software.

Thursday 27th September 2018

09:00
15
Trend analysis and machine learning in PHP
Talk by Michael Cullum (1 hour)

The world we live in is one where data is one of the most valuable assets. There are many different pieces of data we can analyse on all kind of data from analytics of user behaviour of your platform, user generated content, monitoring of exception rates, or when your core business model is to provide some kind of analytics platform. In this talk we’ll dive into how you can, in your PHP applications, perform some simple trend analysis techniques to build models, analyse data to get useful information and spot anomalies using machine learning techniques; and how those machine learning techniques can be applied to other day-to-day scenarios too.

10:15
12
Getting Started with TDD and Travis CI
Talk by Liam Norman (45 minutes)

A lot of developers are developing applications without using tests and this is a problem that many software companies face. Tests can improve the reliability of your codebase and also safeguard it against bugs before your code reaches production. We will introduce TDD and how to implement TDD into your project workflow using Travis CI. We will look at a sample Laravel application and how to implement TDD. The topics that will be covered on the TDD front are feature tests vs unit tests, testing events, working with testing databases, implementing PHPUnit and Mockery and using Laravel Dusk to implement browser testing. The Travis CI portion of the talk will focus on how to specifically implement it into your project workflow, we will cover what is CI and what is Travis CI, benefits of using Travis CI, how the build system works, setting up Travis and running builds, announcing build status via notifications and an overview of the Travis CLI. By the end, you will be ready to leverage TDD and Travis CI in your own applications!

11:00 A State of PHP Backed by Data
Talk by Brad Mostert (45 minutes)

How is our beloved language doing? Analyzing all of GitHub, StackOverflow and Hacker News via the publicly available Google BigQuery datasets (some 40TB+ of data) this presentation aims to give humorous and ingenious insights into our TIOBE Index Top 10 language. If you’ve ever wondered which PHP versions are still in use, which packages are most widely used or if you’re the only ‘Full StackOverflow Developer’ this is the presentation for you. Similarly we’ll look into things like PSR adoption (who’s still using tabs), framework popularity and community participation with a view to how we are doing and where we should be going. Trolls are welcome – I have the data…

12:30
7
Hadoop and PHP
Talk by Michael Cullum (45 minutes)

Hadoop is a big data technology suite from the Apache Foundation that provides a range of tools for storing, interacting with and manipulating large data sets, or to help solve big data problems which might relate to the structure of the data just as much as the size of it. With many companies approaching points where they need to be able to handle large amounts of data, either right now or looking forward in order to scale, Hadoop is one of the core technologies that can help aid you there. In this talk I’ll provide an outline of HDFS, Hive and Spark, three of the core Hadoop tools, and how you can use them; the differences between Hadoop and other technologies such as Elasticsearch; about Presto, a distributed SQL query engine that will allow you to query your big data clusters (HDFS, MySQL, PostgreSQL or Cassandra alike) with simple SQL queries. And finally, I’ll talk about how you can utilise these resources from within your PHP application, allowing your platform to interact with your huge volumes of data without having to copy your business logic into another language.

13:15
10
What the FLOAT!?
Talk by Bernhard Breytenbach (45 minutes)

We have all seen some pretty interesting things happen when using floats. You might even know how to get around most of these problems. But why do these problems occur? Why do floats become so inaccurate when working with really small, or really large numbers? In this talk, we will take a look at fractions through the eyes of a computer to get a better understanding of what’s going on behind the scenes. We will also take a look at some best practices that will help in your career forward.

14:15
8
Advanced Serializing in PHP... With GoLang
Talk by Michelle Sanver (45 minutes)

As an API with a lot of complex data, our bottleneck is and always has been serializing. It has been a long journey for us to get the most performance out of this. We are proud of what we’ve accomplished. Let me share our journey trying a lot of alternatives in PHP; Including JMS Serializer, pure json decode, better serializer, Symfony serializer. And in the end: A colleague wrote php-to-go so that we could GO beyond PHP, using PHP and GoLang together, for an amazing performance boost.

Friday 28th September 2018

09:00
7
Community, PHP and us: Growing up
Talk by Michelle Sanver (1 hour)

In year 2000 when PHP 4 just came out, we had functions.php and when it started being big we made functions2.php. When object orientation came out we renamed our databasefunctions.php and put a class around it and called it OOP. PHP by then, was not very mature. I by then, was not very mature. The community by then, was not very mature. We have come a long way since then! We now believe 12 year old girls on the internet are not FBI agents. We now have type hints, and namespaces, and composer! We have all matured. Let me share my story of amazing technology that changed my life. I’d also like to share some horrible community experiences, and the awesome ones that kept me going. Let’s keep growing, because we never really stop.

10:15
3
Zero to Dev Ops in the PHP environment
Talk by Ruaan Erasmus (45 minutes)

Basic overview of DevOps done right when setting up a project.From project setup to release management Azure Dev ops has you covered. Seamlessly connecting project management best practices into your development environment.

11:00
6
10 Things I Hate About Your API
Talk by Amanda Folson (45 minutes)

You’ve built an API, launched it, and people aren’t excited about it. Why might that be? Many people release APIs for public consumption without any regard for developer experience. This creates a developer ecosystem that invites failure or worse — it can encourage people to seek alternatives. This talk will cover common API pitfalls (spoiler, not all of them are code-related!) and how to create an environment around your API that will make developers happy.

12:30
2
Scaling Laravel @ Swipe iX
Talk by Deon Heunis (45 minutes)

We are delving into scaling Laravel – preparing for live television events with the folks at Swipe. Achieving 10,000 API requests a second on your PHP web application. A practical guide to building scalable, high concurrent & fault tolerant PHP web applications. Scaling is hard but can be done if you follow certain processes, implement the necessary developer operations and architectural design. In this talk we’ll cover our development methodology, AWS infrastructure, system visibility and monitoring, load & stress testing, deployment processes and setting up a war room.

13:15 Kicking off with Zend Expressive and Doctrine ORM
Talk by James Titcumb (45 minutes)

You’ve heard of Zend’s new framework, Expressive, and you’ve heard it’s the new hotness. In this talk, I will introduce the concepts of Expressive, how to bootstrap a simple application with the framework using best practices, and finally how to integrate a third party tool like Doctrine ORM.

14:15
4
CQRS and Event Sourcing for fun and profit
Talk by Gareth McCumskey (45 minutes)

Microservices are a thing, and with them come some interesting new ways of building distributed applications. While CQS (and its successor CQRS) and Event Sourcing are not brand new concepts, they have found a new home as relevant design patterns in the world of Microservices. Gareth will aim to provide a primer for all to understand what exactly these two patterns are, how they work well together and the benefits (and down sides) of adapting your development to make use of them.