{y<}
{yn}

{yl}

{y>}{o<}
{on}

{ol}

{o>}{w<}
{wn}

{wl}

{w>}{d<}
{dn}

{dl}

{d>}{h<}
{hn}

{hl}

{h>}{m<}
{mn}

{ml}

{m>}{s<}
{sn}

{sl}

{s>}

Two Days of Learning

Come listen to some of the experts in PHP share some of their knowledge, experience, and passion.

The goal of PHP South Africa has always been the same… The transfer of knowledge. We have always aimed to get the best of the best together in our beautiful country to share some of their knowledge and experience. In an ever growing industry it is events such as this that helps you stay sharp and craft better software.

Two days of quality talks filled with valuable information delivered by some of the most experienced local and international speakers.

What would a conference be without workshops? If you want to learn some new shiny tool, a new framework, or even just how to structure code better… we have you covered! There will be an entire day of workshops! More information will be added later.

Newsletter Signup

Sign up for our newsletter to stay up to date with the latest news about PHP South Africa.

Speakers

Ben Edmunds

CTO

CTO of an awesome company you’ve never heard of by day, hacking on crazy ideas by night. PHP Town Hall podcast co-host. Author of http://BuildSecurePHPapps.com. Conference speaker. Open source advocate. Human.

Colin O'Dell

Lead Web Developer

Colin O’Dell is a Lead Web Developer at Unleashed Technologies, a web and hosting firm based in Maryland. He began programming at age 8, co-founded a local web shop at 15, and has over 10 years of professional experience with PHP. In addition to being an active member of the PHP League and maintainer of the league/commonmark project, Colin is also the author of the PHP 7 Migration Guide ebook.

Damien Seguy

CTO

Damien Seguy is CTO at Exakat Ltd., a company specialized in PHP code quality solutions for the industry. He leads the development of the exakat static engine, that automatically review code for version compatibility, security and clear code. Over the last 15 years Damien has contributed to the PHP, as documentation author, elephpant raisers, User group animator on several continents. He also enjoys gremlin, 狮子头 and camembert.

Jeff Kolesnikowicz

Senior Developer

Jeff has been developing websites since 1999 when he launched his first website, made with Perl. Since then he’s used a bunch of other ancient technologies like vanilla ASP, PHP 4 and Java cough. Jeff is a senior developer at Allied Health Media, and built one of their products, Simucase, using websockets. Jeff works from his home near Toronto under the close eye of his manager; his cat Benny.

Dale Attree

Senior Developer

Senior developer at Afrihost specialising in workflow implementation. I love PHP, but enjoy interacting with various technologies. Anything to get the job done and done well.

Zander Janse van Rensburg

Technical Lead

Zander is an organizer of JoburgPHP usergroup and PHP South Africa by night. By day he is the technical lead at FitChef where he is on a quest to help the company achieve world class customer service by means of awesome tech.

Bernhard Breytenbach

Senior Web Developer

Bernhard is a self taught PHP developer and Linux DevOp at MDS Technologies. He started with PHP and web development back in 2005, and spends most of his time building accounting/freight/courier management systems for MDS. He has a passion for community and advancing transparency, especially with regards to technology, programming and Open Source. He also enjoys talking about programming and sharing his knowledge with other devs.

Tim Haak

Freelancer Extraordinaire

Tim Haak is an independent contractor and one of the three organisers for the Johannesburg Php user group. With several years in the web, networking and linux world. Tim specialises in the Web Application sphere with a backend focus. Currently really enjoying docker, ionic and angular and the opportunities that provide.

Walther Lalk

Core Team Member

I am a core team member of the CakePHP framework. I’ve been doing PHP development for over 15 years, and working with CakePHP for over 8 years. I am passionate about open source, and promoting the CakePHP framework.

Francois Lubbe

Developer

Programmer, technology enthusiast and Agile/Scrum practitioner at Clickatell, solving the world’s problems with code. With over 13 years of making software development mistakes and finding ways to not repeat the same mistakes but make new mistakes.

Schedule

8:00-9:00
Registration / Welcoming

Some networking, some coffee, some hype... Get ready for the day.

Learn how to structure and maintain a modern day PHP project using the latest standards. We'll walk through recent language improvements and how they will affect your day to day development. This will use code examples to give you in depth, real world examples of usage. We'll also cover the latest community initiatives and standards including the PHPFIG along with the PSRs they have introduced.

Ben Edmunds

Talk about what you just learned and harass the speaker for more information over a nice cup of tea.

During this talk Zander will be providing an introduction to functional programming in PHP. We will be looking at what functional programming is and how it can be used in modern applications. To make the introduction of this new concept easier to those who have not seen it before, a lot of comparison between the OOP and functional approach will be made. There will also be examples of how to use it with another popular language in our tool belt, JavaScript.

Zander Janse van Rensburg

Websockets give you real-time access to your PHP application, facilitating data transfer between the browser and the server. With the popularity of Javascript libraries like Node.js and Meteor, websockets are Hot Stuff™. But just because they’re popular with the Javascript crowd doesn’t mean PHP applications are left out in the cold. In this talk, we will discuss three different use cases for websockets as well as strategies for implementing websockets into your PHP application. We will look at the most popular websocket protocols and specifically an overview of the WAMP protocol (the protocol, not the stack - http://wamp-proto.org) and the PHP Ratchet library. At the end of this talk, you’ll have a better sense of what websockets are, how they work, and how to use them in your application.

Jeff Kolesnikowicz

We all need a break. Now would be a good time to take one.

So you use inheritance, but still have huge amounts of "if"and "switch" statements cluttering up your code. You thought classes and inheritance was suppose to help keep your code clean and easy to read. Why I am still have to duplicate pieces of code that should be reusable? Then abstraction is what you are missing. Parenting is not just important in life, but in development as well.

Dale Attree

Dead code happens when it can never be executed, or if it has no effect on the output. Dead code tends to appear in long-winded projects, and grows over time. It is a significant part of the technical debt, leading to lost time in understanding code, fixing it (sic) and ultimately, removing it. It takes various shapes, such as unreachable code, unused functions, redundant conditions. It may also be conditional, depending on environnement, even if the latter doesn't exist anymore. During the session, we'll track dead code, discuss how it may be removed or sidelined. We'll feel a lot cleaner and leaner afterward.

Damien Seguy

One final break to get ready for the last stretch of the day.

Have all the tools and frameworks created an environment where incompetent programmers can still churn out websites and programs?

Francois Lubbe

In this talk I will show to the audience that CakePHP is still very much alive and kicking. I will introduce the various community projects, community sites, etc. I will also introduce the changes that the CakePHP project has seen in the last few months. I will then dive into CakePHP 3 and how it is no longer the same CakePHP of old that lagged behind other frameworks. I will show how CakePHP is implementing things like PSR7, PSR3, et.al. Finally I will give some short examples that demonstrate the power of the new CakePHP ORM and how you can use the ORM without using the rest of the framework.

Walther Lalk

Ask the speakers any questions regarding today's talks or about web development in general.

8:00-9:00
Registration / Welcoming

Some networking, some coffee, some hype... Get ready for the day.

What makes someone a senior developer? It's more than just coding experience - it requires tenacity, wisdom, and a strong drive to consistently improve. We'll explore the mindset and responsibilities of an effective senior developer and how you can grow into that position. Some of the topics we'll cover include: perpetual learning, effective debugging, knowing when to say "no", time management, and leading a team of other developers.

Colin O'Dell

Talk about what you just learned and harass the speaker for more information over a nice cup of tea.

Will be announced soon.

This is not the PHP of old. Learn what's changed in the PHP world over the last few years. Classes, objects, statics, traits, unit testing, composer, password hashing; it's a whole new ballgame. Learn what has changed in the PHP world over the last several years. We'll cover The newest PHP language features. Community efforts such as the PHP Framework Interoperability Group, Composer, and PHP the Right Way. How to secure your application using up to date techniques.

Ben Edmunds

We all need a break. Now would be a good time to take one.

With all the new cool tools available in the Javascript and Web technology world you can build for Desktop, phone and web just using the tools your used to. Though it means you should be api that they can all talk to. This talk will cover the technologies that allow you to use the Javascript and Html knowlege you have to build for Desktop, Phone and Web and tie them into a simple api base backend. Specifically looking at Electron, Ionic, Angular and Laravel.

Tim Haak

Will be announced soon.

One final break to get ready for the last stretch of the day.

Will be announced soon.

So you heard that throwing away years of development could end in a possible disaster, but you don't know how to practically go about converting your project into a maintainable Composer/Laravel Project. In this talk I will show you how to go about bootstrapping Laravel into your existing codebase, allowing you to slowly upgrade and move to a well structured, Composer based MVC system, without any downtime.

Bernhard Breytenbach

All the speakers will be up for one last time. Get your questions ready!

Sponsors

Contact Us

If you have any questions, comments, or just want to say hello, please do not hesitate to contact us.

Name
Email

Subject

Your Message

Location

Blandford Manor

106 Hyperion Dr, Randburg, 2156