PHP communities

10 things you didn't know you could do with Composer

Patrick Schwisow

Over the last four years Composer has changed the way PHP developers work. It figures out which versions of our required libraries work together and installs everything for us, but if that's all you've ever used Composer for, you're missing out. Come learn how and when to use validation, autoload overrides, and other features you've never heard of.

Agile team development with Zend Studio, Bugzilla, and MyLyn

Peter MacIntyre

Agile (Extreme) development is gaining in popularity. This session will show how Zend Studio for Eclipse can be used in development, exploring integration with Bugzilla and Mylyn, and will cover the latest team development. We'll explore:

  • The concept of Agile
  • MyLyn and its benefits
  • Bugzilla
  • MyLyn's uses within Zend Studio
  • Activating a task in Zend Studio
  • Task preferences

Bootstrapping WordPress

Andreas Heigl

WordPress is famous for its five-minute installer. But in a larger environment, it's not the first installation that's interesting but the next few (hundreds) that shall look exactly like the first one. So wouldn't it be great to be able to deploy a WordPress installation in five minutes onto a developer's machine as well as onto a server? And have those identical? With the same configuration and set of plugins and theme?

In this session, Andreas will show how we solved that problem using tools like Git, Composer, Vagrant, and others while still being able to install plugins from via the web interface.

Building custom applications using Joomla! & Fabrik

Tessa Mero

So you need to build a small custom application and want a simple way to build it? Well, Fabrik is a custom application-building component for Joomla! that does the job.

We'll go over all the important areas of Fabrik and show you how to prepare to build a system with relational data, including a database design example.

Attend this session if you want to expand your Joomla! development skills and want to build custom applications for clients using the Joomla! CMS.

We'll go over the basics of the process of systems design as well as MySQL querying.

Building tools people love to use

Taylor Otwell

Don't understand why WordPress runs 80 percent of the internet while your perfectly engineered and de-coupled CMS only has 10 users? This talk is for you. Why are some tools popular while others aren't? In this talk, we'll dive into what actually makes a library popular, and how you can give your open source side-project a better chance of succeeding. We'll discuss superpower syntax, the battle between perfection and pragmatism, and code as user experience.

Composer for corporate use

Stephan Hochdörfer

It may seem that Composer only makes sense if you open-source your packages, but Composer and its ecosystem can be easily set-up in your corporation for internal use. Let me give you some ideas how to set up and use Composer, Satis, and Jenkins to run your own internal package repository.

Conversational commerce and Magento: Breaking new ground with Facebook, Alexa, and Slack

Phillip Jackson

Commerce is evolving and with it, our toolkits are evolving to leverage using Magento in situations that fall outside the online shopping cart experience.

Slack and Facebook messenger allow contextual opportunities for purchase decisions (see: Tacobot by Taco Bell). Amazon's conversational toolkit, Alexa, provides written and spoken-word integration behavior to allow you to connect your Magento store. This talk will focus on building new technologies onto your Magento stack that leverages new frontiers.

  • Deep learning
  • Contextual commerce
  • Conversational commerce


Patrick Schwisow

Once you've been around for a while, people (hopefully) start to look up to you and you may find yourself bestowed with the coveted title of Senior. All is well with the world, until your team leader takes a position elsewhere, and you're asked to cover some of his duties. Before you realize it, you're planning projects, running the day-to-day operations of the team, answering all the questions, and still trying to produce quality code at the same pace as before. It's tough enough to transition from developer to manager in an ideal situation, but being stuck somewhere in the middle has a whole additional set of challenges. I'll discuss these challenges and how to successfully handle them until everything settles down (whether that means you move to management or go back to the code).

Drupal 8: The crash course

Larry Garfield

One of the most widely-used and mature content management systems on the planet, Drupal runs more than one in 50 websites in the world. However, it has always been something of an odd duck, with an architecture and design very different than anything else in PHP.

Enter Drupal 8: Almost a complete rewrite under the hood, Drupal 8 is a modern, PHP 5.5-boasting, REST-capable, object-oriented powerhouse. Now leveraging 3rd party components from no less than nine different projects, Drupal 8 aims to be the premiere content management platform for PHP.

But how do you use all this new-fangled stuff? This session will provide a walkthrough of Drupal's key systems and APIs, intended to give developers a taste of what building with Drupal 8 will be like.

Note: Prior familiarity with Drupal 7 is helpful but will not be assumed.

Exploiting the brain for fun and profit

Alena Holligan

What is your greatest tool in your toolbox? Your brain! Sure, you could sharpen this tool and promote your project the normal way, with hard work and years of slow, incremental progress. Or you could use some of the brain's built-in cheat codes and just hack your way to success.

Along with learning, our brains are plagued by a raft of bugs and unwanted features that we have been unable to remove. Use these features to your advantage to teach, learn, and persuade. Join us in a tour of some of the most amusing bugs and exploits that allow you to play with the interface between our brains and the world.

Hypermedia: Why you need it, and why you're doing it wrong

Michael Stowe

Everyone wants the perfect REST API but to truly conform to Fielding's constraints means taking advantage of hypermedia, and using it as the engine of application state. This means going beyond just implementing a specification like HAL, Siren, or JSON API, and creating your links to provide enough information for both humans and machines. In this session, we'll take a deep dive into what hypermedia is, what role it plays in RESTful APIs, the differences between specifications, and how to implement it and represent it correctly.

Kicking off with Zend Expressive and Doctrine ORM

James Titcumb

You've heard of the new Zend 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 how to integrate a third party tool like Doctrine ORM.

Magento 2 development best practices

Ben Marks

Magento 2 is best known as the most successful open source commerce app but did you know that it is a full-fledged PHP framework underneath, complete with several tools to make a developer's life easier? In order to build and maintain a Magento 2 site, developers must adhere to certain framework conventions and use the tools that ship with the app. This talk presents these best practices and introduces some community-created tools as well.

Nom Nom: Consuming REST APIs

Tessa Mero

Feeling hungry? You've come to the right place. As APIs have become increasingly more important and popular in usage in the past few years in web development, it's important to understand the basics of what they are and why to use them. We'll go over the basics: The what's, why's, where's, and when's. You'll learn the basics of REST APIs and see how you can use POSTMAN to test making REST API calls. You'll see Cisco's Spark and Tropo as use case examples of working with APIs.

PCI compliance for Magento in the hipster age

Phillip Jackson

In a 2009 poll, "PCI compliance" was found to be the most boring two-word combination in the English language. Building applications that stand up to the Machiavellian standards that are PCI compliance is just the beginning. The rest will put you to sleep, and could put you out of business.

The aim of this talk is to "hipsterify" PCI standards and create application toolkits that make passing PCI a breeze.

This talk will be exciting, fast-paced, and humorous. It will attempt, and possibly fail, to make PCI fun.

Rethink image manipulations with Glide

Jonathan Reinink

Almost all apps require some form of image cropping or resizing. This is often done with background jobs, using tools like GD and ImageMagick. This talk will introduce you to a new way of doing image manipulations using a library called Glide. Glide, a recent addition to The PHP League, is a wonderfully easy to use on-demand image manipulation library with an HTTP-based API. I'll explain in a little more detail what it is, how it works, and how to set it up.

Simple plugin creation in WordPress

Peter MacIntyre

Can't find that perfect plugin in the thousands that exist? Do you want to extend an existing theme? Come to this session to see just how easy it is to create your own plugin and to get a brief look at the internal functions that WordPress makes available to the developer. We'll actually create a simple plugin and a child theme in this session while looking at the PHP code needed to make this happen.

The programmer's dilemma

Brandon Savage

Everyone wants everything: A quality, feature-rich application that ships fast. As developers we find ourselves torn between these three seemingly at odds points of view. This is the programmer's dilemma. But it is possible to have the best of all three with just a little effort on our part. How? Come find out!

Time to know better your PHP applications

Gregory Chris

This session is about extending Zend Server Z-Ray in order to get as much information from your own application as possible.

Z-Ray is a technology that provides useful information about PHP application run-time. It displays all the under-the-hood details of PHP scripts such as execution times, errors and warnings, special PHP events, list of database queries, execution environment information, and many more. By using Z-Ray, application maintenance and optimization time is reduced to the minimum, and definitely, Z-Ray is one of the best tools for profiling and debugging PHP applications nowadays.

In addition to the built-in features, Z-Ray can be easily extended to provide information about your specific application. In this session, we are going to learn how Z-Ray plugins work, what we can track in our code, and best practices in writing extensions. During the session, we'll write a few plugins, starting from very simple examples and advancing to more sophisticated Z-Ray panels.

Being a developer is not just about writing wonderful code and enjoying your products but also contributing back to the community. In this session, I am going to introduce the Zend Server plugins gallery and we're going to learn how pack and submit new plugins to the gallery.

Websockets and event-driven programming with ReactPHP

Steve Meyers

Modern browsers support a new standard called Websockets, which allow persistent connections between a browser and a server. We'll discuss how to implement Websockets with your client-side Javascript talking to your server-side PHP, using the ReactPHP framework.

WP REST API hacking

Jeroen van Dijk

The REST API is an awesome plugin to expose your data from the WordPress core. But … the standard implementation might not fit your specific case.

Just like the WordPress core, you'll be able to extend it to your specific needs. I'll show you how to handle authentication, introduce caching strategies, alter custom post types, or even change the default way of communication altogether.

Z-Ray: A customizable development tool belt

Mathew Beane

Using Zend Z-Ray offers PHP developers a very powerful suite of tools out-of-the-box. Extending Z-Ray is easy and allows for nearly limitless customizable development tools. An exploration of Z-Ray plugin features will give attendees a foundation for creating their own Z-Ray extensions.

This session will show how to develop Z-Ray plugins for your applications and frameworks. Covering the Z-Ray plugins structure, storing and displaying data, tracing functions and files, utilizing the tree widget, how to format your data for use in Z-Ray, and modifying the way data is displayed in Z-Ray.