Zend Framework 2 development centers around identifying common themes and patterns our devleopers are using, unifying them, and providing low-level patterns to use everywhere.
In this tutorial, we will look at a number of these patterns, identifying them, and discussing the interfaces involved and the concrete use cases shipped in ZF2. We'll also show how you might create your own implementations and slip-stream them into your application. Amongst the patterns discussed will be events, brokers, and dispatchers. By the end of the tutorial, you should have a solid understanding of the fundamental patterns found in Zend Framework 2, where and why they are used, and how you can leverage them within your applications.
Come along to this in-depth session covering all aspects of web services; if you want to bring your laptop and "play along" as we go, you can grab the sample code and join in! We will cover the concepts behind web services: data formats, service types, HTTP, troubleshooting, and how to put all this together in PHP to consume services. Finally we'll go a step further and implement a service ourselves. Expect anecdotes, war stories and some commandments for things you should never do when working with services.
You have done all the caching tricks in the book on the server side, memcache, apc, database cache and so on and squeezed every millisecond out of it, now your site is as fast as it will ever get. Well guess again!
Too often people forget that what you are effectively caching and creating with those technologies is the HTML part of the user response time, now if they are done correctly then HTML is 10 - 20% of your users response time, so there is room for a whole lot of improvements on those other 80 - 90%
After having attended this talk you will not only have learned to make your sites faster for your long term users but also people coming for the first time as well as people on slower connections.
by Joël Perras
Frameworks come in all shapes and sizes, with some touting themselves as being "lightweight" or "micro-frameworks", and others brand themselves as a more "full-stack" solution. With Lithium, a new PHP 5.3+ framework, there's nothing stopping you from having both. In this tutorial, we explore how to trim down lithium to a lightweight, highly performant RESTful JSON & XML API that can fit in a single file. No hair-pulling required.
by Brian Moon
With all the technical considerations of designing and shipping PHP-based software, it's easy to forget how every line of code you write can have a direct impact on your customers. Almost any code has the potential to shape the user experience and result in repeat custom or an over-subscribed helpdesk. Allow Drew McLellan to take you through the lessons learned when building Perch - a PHP content management system that banks heavily on providing a great user experience. Hear what has worked, what failed miserably, and how a goal of eliminating all support requests has driven the technical design of the product.
by Ed Finkler
What motivates us as developers? How do we define success? Throughout the development of Spaz, we’ve learned a lot about what works, what doesn’t, and what really matters. Come to hear the story, and participate in the discussion of how we define success in open source.
Spaz is a mature, open source, free desktop and mobile client for Windows, Mac, Linux, and Palm webOS. Started in Spring of 2007, Spaz is one of the oldest Twitter clients available still under active development. Other systems have gone on to great commercial and popular success, but Spaz still continues to plug along, driven by a commitment to open standards, transparency, and community.
This talk will cover the history of Spaz’s development, from early successes and awards, to competition from well-funded closed source projects, to the transition onto mobile, and finding a sustainable niche where it continues to grow.
I have two stories to tell and but one hour to fill, with luck I’ll weave them together as seamlessly as PHP’s parameter orders. The first is the story of WonderProxy a company I co-founded with a long time colleague to provide a way to test GeoIP applications. My goal with the story isn’t to sell you a product, far from it, but to talk about it’s underpinnings in PHP, and the success and failure we’ve experienced thus far. One of our failures was our incredibly slow website, luckily XHProf & XHGui helped us diagnose those issues (notice that excellent segue?). XHProf is a performance analysis tool released by facebook to aid developers by allowing them to profile production runs of their application. XHGui is a user interface for this information, allowing developers easy access to their information, providing graphs over time and other useful displays. This second story will dig through the reason behind the creation of this GUI, and a few useful hints on how to get the most out of it.
by Sean Coates
A little over a year ago, I quit my job with the dream of building something great. Through a mutual friend, I was introduced to my co-founder, and we hashed out an idea that could change the Web.
Through a mix old and new technologies, we built prototypes, hacked together functionality, discovered interactions and made lots of mistakes.
After a few months, we added others to the team, which presented its own challenges: primarily that we were spread out in five different cities and two countries.
Together, we launched Gimme Bar to a small audience that is growing at an intentionally-limited rate.
This talk will cover why and how we did it, what we did right, and what we did wrong. We'll get into the details of which technologies we chose, right or wrong, and what we did to fix the wrong choices.
by LB Denker
At Etsy we view Code as Craft (check out our blog: codeascraft.etsy.com), and we pride ourselves on enabling every developer to deliver his or her code to the Etsy community as quickly as possible, in our case, around 20 minutes from code completion. Four months prior to Cyber Monday 2010, there might have been a day where as many as 10 deployments occurred, but the Thursday before Thanksgiving, the prelude to the biggest day for an e-commerce website, Etsy engineers managed 40 deployments in a single day, and each deployment included passing a battery of 5000+ tests. We would like to share with you how we are approaching internal tooling, abusing PHPUnit, pushing beyond the boundaries of Hudson CI, and creating metrics to guide the future of our continuous deployments while keeping it handmade.
by Marcel Esser
The Internet is the greatest communications tool in the history of man-kind. Perversely, it's still incredibly difficult for people to communicate complicated ideas. Now, imagine being NASA, and needing to communicate your ideas. In this talk, we'll explore how we exploited the different learning types, together with a rich multimedia CMS, to allow NASA to explain complicated scientific ideas on multiple levels, allowing every member of their audience to walk away with an effective level of understanding. Moreso, we'll be exploring how a rich platform allowed us to easily combine different types of media in combinations rarely found on the web today. In addition, we'll be taking a brief look at what we needed to make this all happen from a technical perspective.
In the halcyon days of early 2005, a project was launched to bring long overdue native Unicode and internationalization support to PHP. It was deemed so far reaching and important that PHP needed to have a version bump. After more than 4 years of development, the project (and PHP 6 for now) was shelved. This talk will introduce Unicode and i18n concepts, explain why Web needs Unicode, why PHP needs Unicode, how we tried to solve it (with examples), and what eventually happened. No sordid details will be left uncovered.
by Terry Chay
21st–22nd April 2011