Talks

Adding real-time to your apps with WebSockets

Talk by: Igor Wiedler

Todays web applications have come a far way since the early days of static pages. Ajax has made it possible for them to become a lot more responsive and in many cases enhance user interaction. Now the next revolution is about to happen. The upcoming W3C WebSockets standard will enable bi-directional communication between the browser and the server. In this talk you will learn how to use WebSockets to enhance your existing applications. I will show you how to use socket.io in node.js to dispatch events to the browser in near real-time. You will learn how you can already use it today.

An introduction to Phing the PHP build system

Talk by: Jeremy Coates An insight into the Phing build system for PHP, why and how you might use it along with where it sits with related tools such as PHPUnit, PHP Code Sniffer, PHP Mess Detector etc. We will also take a brief look at how Phing can integrate with Continuous Integration, taking Jenkins as our example. We will also be including some simple practical demos of Phing in action!

Client-side Javascript Unit Testing

Talk by: Tom van Herreweghe As a PHP developer, you've probably had to deal with Javascript at some point in your career. Some of the Javascript code you've written may even have been pretty complex. What happens if you need to make some changes? Will it break existing functionality? The only way to really know if everything is still working, is by unit testing your Javascript. This talk will introduce you to QUnit for creating such Javascript unit tests which can run in any browser and to JsTestDriver for automatically running these tests across multiple browsers.

Doctrine 2: An Introduction

Talk by: Juozas Kaziukėnas Doctrine is an enterprise object persistence layer for PHP 5.3.2+ that supports persisting PHP objects to relational databases like MySQL, Oracle, etc. and document based storage systems like MongoDB as well. Dive in head first and learn the Doctrine way in this workshop. From basics to best practices, performance optimization and legacy applications migration.

Enterprise Class Cloud for the Average Joe

Talk by: Craig Kitterman Okay, you just got “slash dotted”. Users are pouring into your site and you need to scale out and fast to handle the increased load. Traffic is coming from all four corners of the globe and sending all the images and videos and other media assets in your site from a single data center in Western Europe to potential new customers in São Paulo, Brazil is going to cause frustration due to network latency across the Atlantic. You aren’t worried because you know that with a few clicks all the new users are experiencing your site in its full glory and are having a great experience. When the rush is over, you simply make a few more clicks to spin down that capacity – or only some of it as you have a new set of customers who believe in you. Windows Azure makes it possible for all PHP developers to use Microsoft’s global network of data centers to put your enterprise hat on – anytime – even if only for a short while.  

Estimation or, "How to Dig you own Grave"

Talk by: Rowan Merewood Clients need to know how much a project will cost. Waterfall development is always late and over-budget. Agile development is done when it's done. You're left with estimates that you know are too low and then you squeeze them anyway. It shouldn't be this way. We'll look at how this happens, early warning signs, ways out and ways of avoiding it in the first place.

How To Stand On The Shoulders Of Giants

Speaker: Ian barber "Every great breakthrough is built on the work that has come before it. The most successful innovators in our industry ignore the conventional wisdom of the moment and draw on the rich history of computing, the internet and the web to transform the simplest of ideas into defining pieces of technology. As software engineers, we all have the potential to navigate the history of our industry, tease out the genius from what has come before, and build a platform for our own ideas. By doing so, we can see that little bit further and in turn provide the foundations for others to build on what we have done. In this session we’ll look at how the history of the web itself is rooted in sharing information and how modern giants like Google and Facebook are founded on what came before them, while being driven forwards by the ecosystems they helped build. We’ll see how successful open source projects leverage the past, and how by following some simple principles we can make use of the information, projects and people around us to improve ourselves and our careers."

HTTP is your architecture

Talk by: Kore Nordmann Like it or hate it, the web is all about HTTP. While many people see HTTP as a big limitation, you should turn the tables and see it as your best friend! This session gives you an insight into the architectural principles of HTTP, which are important to know and seize for normal web sites, as they are for RESTful web services. See why your app might not even be HTTP compliant and what you can gain, if it is.

Large-Scale Data Processing with Hadoop and PHP

Talk by: David Zülke The MapReduce framework promises to make computing of large sets of data very easy. An original approach, it offers excellent scalability across many computing nodes, and can easily be integrated with existing systems. This session will give an introduction to the basic techniques and ideas behind MapReduce, followed by a live demo showing how to use Apache Hadoop and how to interface it with PHP.

Magic Behind the Numbers - Software Metrics In Practice

Talk by: Sebastian Marek We use static code analysis tools more often these days that create great reports and funky graphs. But do we understand what it all means? Software metrics tends to be magic numbers for a lot of people, but they don’t really have to be. Seb will introduce you to a few basic, the most popular software metrics and tools. He will explain to you what they mean and how you can use them to produce better software.

Masterizing PHP Data Structure 102

Talk by: Patrick Allaert We all have certainly learned data structures at school: arrays, lists, sets, stacks, queues (LIFO/FIFO), heaps, associative arrays, trees, ... and what do we mostly use in PHP? The "array"! In most cases, we do everything and anything with it but we stumble upon it when profiling code. During this session, we'll learn again to use the structures appropriately, leaning closer on the way to employ arrays, the SPL and other structures from PHP extensions as well.

Micro-frameworks: Why should you care?

Talk by: Fabien Potencier A full-stack framework allows developers to build better and easy to maintain websites. It is a great tool to use for big projects and big teams, but what about smaller projects? Does it still make sense to use a framework? Of course, using a framework will give you a structure and many built-in features, but what about getting rid of the perceived complexity? Enter micro-frameworks.

Modular application architecture

Talk by: Kore Nordmann Modularity is one of the most desired non-functional aspects in software development. But beside high quality code, you need extension points so you can easily plug in additional custom modules. This talk will show and compare theory and real life approaches from the PHP world in this direction.

PHAR, the PHP .exe format

Talk By: Helgi Thorbjoernsson Learn about what the PHAR (PHP Archives) format is all about. A PHAR is conceptually similar to a Java JAR but made to fit PHP's needs. Hear how to use it to distribute your product to clients, why open source projects have started offering their projects as a PHAR file, run your application directly from the PHAR container without extracting anything to the filesystem, secure it using the signature feature to ensure the container hasn't been tampered with and many other interesting features. By the end of it you will be wanting to use PHAR for CLI and Web apps alike!

PHP and MongoDB

Talk by: Derick Rethans MongoDB is a scalable, high-performance, open source, document-oriented NoSQL database. It features document-oriented, JSON-based document storage and dynamic schemas providing simplicity, power and flexibility, combined with full indexes similar to what a traditional RDBMS user would expect. MongoDB also provides solid replication & high availability features as well as an auto-sharding system for transparent horizontal scalability. This talk introduces MongoDB for developers who aren't familiar with it with a detailed introduction of how to work with MongoDB from PHP. This talk will cover the basics from installing the PHP driver and connecting to mongod to creating, inserting, querying for, and updating documents. We will also briefly touch on aggregation, geospatial indexes, GridFS and running database commands.  

PHP Content Repository Specification

Talk by: Lukas Kahwe Smith The PHPCR specification defines an API that combines the power of NoSQL databases with hierarchical data structures and versioning, powerful search and other features. Content repositories, like Midgard2 or Jackrabbit, can implement the API to provide generic access to their content. Using PHPCR, applications can focus on the application logic and use the API to quickly implement CMS functionality and choose from the solution that best fits their server requirements and scalability needs to handle final persistence.

PHP in the Dark

Talk by: Jeroen Keppens PHP in the Dark teaches you the dark secrets of php on the command line. The talk covers 4 topics: We start of with simple shell scripts: how to handle options and interactive input, output, but also how to layout them with newt and ncursus. Next we cover how to properly create daemons, avoid zombie scripts, use angel scripts and how to monitor your scripts. We then move to parallel processing and inter-process communication. Often wrongly referred to as multi-threading in php. Finally we'll talk about distribution strategies to offload your scripts to multiple servers using 0mq, gearman,...

PHP traits, treat or threat?

Talk by: Nick Belhomme Start reducing complexity and start reusing sets of methods freely in several independent classes living in different class hierarchies with traits. Learn the semantics and start living in the future of PHP now!

Redis - Your advanced in-memory key-value store

Talk by: Jordi Boggiano Most of the NoSQL movement happened around the Map/Reduce type of storage, while Redis, mostly unknown, shines by it's simplicity. It is an in-memory database that (unlike Memcached) persists the data to disk to survive failures. It can help scale up write-heavy applications, but also serves as a great tool to understand how most databases work and learn to think in lower level storage terms.

Security audits as an integral part of PHP application development

Talk by: Sijmen Ruwhof More often than not, web applications start off as a bright idea, which is then brought into realization at a fast and furious pace, with little eye for anything but result. Once all envisioned functionality is incorporated in the design and the project is launched, developers will be assigned to the next project. Notwithstanding a few bug fixes, the final - yet essential - step of software development is more often than not, omitted: the security audit. Despite the fact that these checks are regarded as tedious and superfluous, practice shows that it is time well spent: numerous, often severe vulnerabilities come to light. In his presentation, Sijmen Ruwhof will detail how to incorporate security checks into the software development process. He will also step through the implementation, and caveats of a security audit. Ruwhof works for Secundity as a security analyst specialized in PHP audits.

Taking it to the next level

Talk by: David Coallier The state of the PHP world has been most precarious over the past few years and many developers moved over to other languages and other technologies because PHP was lacking something that other emerging techs were providing. With the rise of cloud computing, cutting edge frameworks and amazing platforms, PHP can be sexy again. This talk aims at giving an idea of how PHP, as a language and a community, evolved over the past few years and how to refocus our energy to solve today's and tomorrow's problems rather than contemplating the success of our past. We have to adapt to change and this talk will help the listeners with the transition by providing then with insight into: Cloud Computing, PaaS, upcoming frameworks as such as Zend Framework2, Symfony2, Lithium, and many more aspects of this rapidly changing software ecosystem.

The lust for knowledge and experience

Talk by: Marcel van Brakel No developer gets born with a senior developer status. But still we are all looking for experienced developers to strengthen our development teams. Experienced developers are turning out to be a rare resource, so you might have to settle with yet another junior within your team. Ho can you as a (lead) developer get the most out of even the least experienced team members and encourage them to grow at a fast pace.

The state of DI in PHP

Talk by: Stephan Hochdörfer The Dependency Injection (DI) pattern finally arrived in the PHP world. The major PHP frameworks provide support for DI in their latest releases. Many developers seem to be hooked by this programming pattern as it provides a good approach to create maintainable applications. This session will introduce the basics of the DI pattern to the audience as well as giving a brief overview about the current state of DI and give you some insights how you could make use of DI in your project.

VIM + *nix Toolchain == PHP IDE

Talk by: Matthew Weier O'Phinney There are dozens of IDEs available for PHP developers, each carving a niche with their unique features to support programmers. Those of us who want instant gratification and infinite flexibility, however, have other tools at our disposal: the *nix toolchain, and vim. Learn some basics of Vim, find out about several incredible plugins, and discover how to leverage the *nix paradigm of piping in order to build fantastic productivity on any platform.

Working successfully outside the cube

Talk by: John Mertic There is a growing trend in the IT industry to have employees who work outside the confines of a traditional office. This enables companies to save money on office space and furniture, and be able to attract talent that is in a different geographical region than they are located in. But there are lots of challenges to this as well, such as being able to collaborate with remote workers and making them feel "part of the team", which can be challenging. In this talk, I'll draw upon my own personal experiences of being a "cube" worker and being a successful remote employee, and talk about the challenges and benefits and how to best implement this in your organization.

Workshop: HTML 5 for PHP developers

Workshop by: Mathias Bynens HTML5 is the future. And the future has already begun! This workshop will give an overview of what changed in HTML5 and introduce the new features of HTML5 like Web Storage, Websockets, Offline Web Apps, Document Object Model 5, Web Forms and Geolocation and how HTML5 will affect developers.

Workshop: HTML5 for PHP developers

HTML5 is the future. And the future has already begun! This workshop will provide an overview of what’s new in HTML5, focusing on the features that are the most interesting to back-end (PHP) developers. We’ll cover the new and changed elements in HTML5, multimedia (audio and video), canvas, inline SVG, offline web apps and local storage, WebSockets and the Geolocation API.

Workshop: Mobile for PHP

Workshop by: Ivo Jansch Mobile is hot. If you’re building websites that don’t work on a mobile device, you’re missing out on an increasingly large target audience. Web consumption is no longer constrained to desktops and laptops, we have access to information from anywhere, anytime. In this tutorial Ivo will teach you the basics of optimizing websites for mobile devices such as phones and tablets. We will also look at the app side of things – creating APIs in PHP to access our information from native mobile apps and optimizing them to cope with the limits of mobile devices and wireless network connections.

Workshop: Zend Framework 2

Workshop by: Matthew Weier O'Phinney
In this workshop, we'll explore Zend Framework 2, building a small
application to demonstrate a number of its features. During the course
of the workshop, we'll explore the new ZF2 MVC layer, the module
manager, the EventManager, Dependency Injection, and more. Bring your
laptops, and be prepared to follow along!

Writing testable code

Talk by: Tobias Schlitt Automated testing has become a standard in PHP projects, but writing code in a way that it is easily testable is a challenge. In this workshop we give you an insight into the secret of writing testable code and show you, how this relates essentially to good object orientation.