{yl}
{ol}
{wl}
{dl}
{hl}
{ml}
{sl}
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.
Speakers
Schedule
Registration / Welcoming
Drink a coffee and meet some new people before the day starts.
Symfony
An introduction to the Symfony framework. Instead of just covering the theory of the framework we will be creating an app together.
Zander Janse van RensburgIntroduction to the new Docker Swarm
Tim will teach you how to set up docker swarm cluster and how much simpler it is the updates that came through recently.
Tim HaakCakePHP 3
A basic/intro level workshop into CakePHP 3 and the new ORM and other new features. In this workshop I will take attendees through the process of creating a new CakePHP 3.x application, how to perform basic CRUD actions, the power of the ORM and introduce them to a few "must-have" CakePHP plugins. The exact application to be developed as part of this workshop still needs to be decided, but it would be something simple like a Blog or Contacts database. I'll begin with a brief introduction into composer, followed by creating a skeleton CakePHP application using it. We'll then make use of the CakePHP migrations plugin to create an initial database, followed by using the CakePHP bake tool to generate an initial set of CRUD actions and views. The next step would be to create an authentication/login/registration process. A basic authorisation system will then put into place to ensure that admin users and regular users are logically split. We'll then look at a couple of advanced ORM functions for things like a 'latest posts' widget, etc. The last part of this workshop will be to introduce attendees to some of the more advanced CakePHP plugins like CRUD, CRUD view and the Search plugin.
Walther LalkRegistration / Welcoming
Some networking, some coffee, some hype... Get ready for the day.
Modern PHP Standards and Community
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 EdmundsTea Break
Talk about what you just learned and harass the speaker for more information over a nice cup of tea.
An Introduction to Functional Programming
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 RensburgThe Websockets Awaken: Using websockets in your PHP application
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 KolesnikowiczLunch
We all need a break. Now would be a good time to take one.
The Power of Abstraction
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 AttreeThe Hunt For Dead Code
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 SeguyBreak
One final break to get ready for the last stretch of the day.
Delusions of Adequecy
Have all the tools and frameworks created an environment where incompetent programmers can still churn out websites and programs?
Francois LubbeCakePHP: Still Not Dead
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 LalkSpeaker Panel
Ask the speakers any questions regarding today's talks or about web development in general.
Registration / Welcoming
Some networking, some coffee, some hype... Get ready for the day.
Hacking Your Way To Better Security
This talk educates developers on common security vulnerabilities, how they are exploited, and how to protect against them. We'll explore several of the OWASP Top 10 attack vectors like SQL injection, XSS, CSRF, and more. Each topic will be approached from the perspective of an attacker to see how these vulnerabilities are detected and exploited using several realistic examples. We'll then apply this knowledge to see how web applications can be secured against such vulnerabilities.
Colin O'DellTea Break
Talk about what you just learned and harass the speaker for more information over a nice cup of tea.
Aint No Search Like An Elastic Search
During this talk Grant will introduce us to what is most likely the coolest way to search. He will be covering what ElasticSearch is, how you can use it, and why it is so powerful!
Grant McMullinIntro to Laravel 5
Learn why this new framework has been taking the PHP world by storm. Are you ashamed to admit you're a PHP developer? Have you been using the same old, boring PHP framework for years? Tired of your PHP applications turning into enormous beasts? Maybe you've heard about Laravel but haven't made the effort to dive into it? In this presentation, we'll walk through what makes Laravel an elegant, fun, and exciting framework to make PHP applications that you'll be proud of.
Ben EdmundsLunch
We all need a break. Now would be a good time to take one.
Javascript In All The Places! Or Why You Should be Creating an API
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 HaakProgressive Web Apps for PHP Developers
So we may have heard quite a bit about Progressive Web Apps (or not), making your sites work offline and load really fast. A question often asked is - "I have this app built w/o this awesome PHP Framework, where do I begin?" During this talk, Femi will be taking us through a step by step process for making a platform with a PHP backend a progressive web app, backed with examples of where this has been done.
Femi TaiwoBreak
One final break to get ready for the last stretch of the day.
Managing Legacy Applications with Composer and Laravel
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 BreytenbachSpeaker Panel
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.





