PHP Development
Continuous Inspection and Integration of PHP Projects
Sebastian Bergmann
thePHP.cc
The ideas behind Continuous Integration have changed how companies look at Build Management, Release Management, Deployment Automation, and Test Orchestration. This session presents the best practices and available tools that provide an insight into the development progress and code quality throughout the development lifecycle of PHP-based software projects.
The State of SOAP in PHP
David Zuelke
Bitextender GmbH
PHP has been shipping with ext/soap ever since version 5.0, and the extension has come a long way since in terms of features and compatibility. This talk will give a brief introduction to what SOAP is and how it works, and then show how to create SOAP clients and servers in PHP. We'll also examine some of the lesser known features/tricks of the extension and compare SOAP to REST for Web Services.
XML Versus the New Kids On The Block
David Zuelke
Bitextender GmbH
The increasing popularity of data formats like JSON or YAML has left many people wondering whether those who've been bashing XML all along might have a point. This talk will look at the strengths and weaknesses of XML, JSON and YAML, examine when to use which format, and explain why storing objects as XML is a pain, why CouchDB uses JSON and why HTML5 missed the greatest chance the Web ever had.
Bad Guy For a Day - A Websecurity hands-on tutorial
Arne Blankerts
thePHP.cc
Not knowing what attackers do makes writing secure web applications a tough job and learning all the tiny details as well as the important tricks pretty much impossible. This hands-on tutorial will demonstrate how hackers work when attacking a website, giving you first hand information on every day security problems. You will learn how to secure your own website and what else to consider in protecting your environment in general.
Taming the Untestable Beast
Sebastian Bergmann
thePHP.cc
Stefan Priebsch
thePHP.cc
Call it what you will: Brownfield Project, Big Ball of Mud or just legacy code. As developers we rarely find ourselves in a Greenfield Project without any constraints that are imposed by prior work of less than optimal quality. In this workshop you will learn see that architecture and testability are related and how to turn bad code into good, testable code. No question goes unanswered when we pull up an editor and explain best practices while we refactor and unit test an MVC application live.
Caching on the Edge
Fabien Potencier
Sensio
Besides obvious optimizations like using APC, you probably have some caching strategy for your PHP projects. Did you know that caching is a large part of the HTTP specification? In the first part of this session, I will show how you can take advantage of HTTP caching. In the second part, I will show how to use Edge Side Includes, aka ESI with reverse proxies like Squid and Varnish.
Memcached, the Better Memcache Interface
Ilia Alshanetsky
Centah Inc.
This session will introduce the audience to the memcached PHP extension that provides a more flexible and performance friendly interface to the de facto caching solution for PHP applications. The talk will be comprised of code examples for a variety of use cases and comparison points between it the older memcache interface.
Hidden Features of PHP
Ilia Alshanetsky
Centah Inc.
PHP has been growing and evolving as a language for over a decade now and in this time managed to accumulate many functionalities and features. In fact so great is it breadth of functionality much of it lies unknown to most users. This session will focus on uncovering various functionality gems and developers may not know PHP has, but can help in their day to day development efforts.
Zend Studio Tips and Tricks!
Roy Ganor
Zend Technologies
In this session Roy Ganor, the Zend Studio Project Lead, will disclose some of Zend Studio's deepest secrets and reveal some of those extremely useful but 'hidden' features of Zend Studio.
The Power Tool for PHP and JavaScript Development
Roy Ganor
Zend Technologies
In this session we will reveal the latest features provided in Zend Studio that enable JavaScript and PHP development. Must have features that we cover: * Working with JavaScript libraries such as jQuery, Prototype and Dojo * Debugging JavaScript and PHP code * DOM Inspector view to get a live snapshot of the document rendered in the browser * Discovered where a DOM element in the browser
Flex + Flickr = Fleckr?
Keith Casey
Blue Parabola, LLC
It’s one thing to bring samples of code to show off and share. It’s something else entirely to write them live in front of a group. Come to this code-along and we’ll break out of the browser to get a crash course in Flex development and interact with the Flickr API. We’ll learn how to authenticate, upload images, add tags, and set privacy for single or a group of photos. === Outline === * Introduction * Install Flex Builder 4 * Initial Setup Wizard ** Command/button overview ** Platform differences * Basic Functionality ** Get image list (rss feed) ** Authenticate ** Upload an Image * Security Model * Wrapup
Doctrine MongoDB Object Document Mapper (ODM)
Jonathan Wage
Sensio Labs
With all the hype around document based storage systems these days, everyone is always asking the Doctrine project "when will you support MongoDB?" Well now it is possible to map your PHP 5.3 objects as Documents and persist them to MongoDB using the new ODM project. It offers you the ability to represent your domain with PHP OO which can be mapped to and stored in a MongoDB collection.
Zend PHP Certification Boot Camp
Christian Wenz
Arrabiata Solutions GmbH
The Zend PHP Certification is the industry standard to test a candidate's knowledge of PHP and to aid employers to select suitable developers. Learn what it takes to become a Zend Certified Engineer (ZCE) by one of the authors of the certification. We will have a look at all topic areas, discuss common traps and required knowledge for each of them, and will provide you with background information on the test. The full-day tutorial will feature a number of typical questions that resemble the layout of the actual test questions, giving you a realistic impression of the test itself and aiding you in self-assessing your current PHP knowledge. In addition, you will have the opportunity to take the test right at the conference (limited availability). Separate registration is required.
Modeling Tips, Tricks and Best Practices
Ralph Schindler
Zend Technologies Inc.
In the MVC triad, the M, or The Model, typically represents the core of your business. As many opinions as you have about how your business is constructed and run, there are as many opinions on how application models are crafted, utilized and maintained. In this tutorial we'll examine the current landscape modeling techniques from how to best create Models as well as the best practice techniques on persisting data. Items and topics will range from Service Layers, Mappers and Entities to various database persistence methods, testability and maintainability of your Model code. This tutorial will be framework agnostic in opinion, but will look at various implementations in both Plain Old PHP as well as in popular projects including Zend Framework, Symfony, Doctrine, and Lithium.
484 Days of PHP 5.3 and What Have We Done (And Learned)?
Ralph Schindler
Zend Technologies Inc.
Along with PHP 5.3 came some fantastic new features: closures, __invoke, late static binding, GOTO (shhh!) and of course namespaces. In this session, we'll have a look at some of the more popular PHP based open source projects to see what parts of PHP 5.3 they've adopted and what impact it's had on the project. We'll discuss the best practices that have emerged around these new features.
Rev it up with PHP and IIS
Josh Holmes
Microsoft
PHP on IIS has had an amazing performance jump in the past 2-3 years but you can always squeeze a little more torque out of an engine with the right tuning. In this session we’ll dive into improvements in FastCGI and fantastic new libraries such as WinCache 1.1 for exceptional performance in your applications as we go under the hood with IIS.
Cloudy with a Chance of PHP
Josh Holmes
Microsoft
Eli White
HiiDef
Travis Swicegood
Over the past few years, Cloud hosting has rocketed into the main stream buzzword mania. The promise of on demand computing resources is an exciting and disruptive change in the IT world. Microsoft Azure, Amazon EC2 and Rackspace are three of the leading providers in the PHP space. The support and offerings from each are dramatically different while still holding to the principle of on demand computing resources. The awesome part is that with the Zend’s Simple Cloud API breaks down the learning curve and offers a lot of freedom in your cloud application code. In half day tutorial, cloud computing experts Josh Holmes, Travis Swicegood and Eli White will dive into the promises and realities of cloud computing and what the leading vendors offer.
The Doctrine Project
Jonathan Wage
Sensio Labs
The Doctrine Project is the home of a selected set of PHP libraries primarily focused on providing database persistence services and related functionality. Its prize projects are a Object Relational Mapper and the Database Abstraction Layer it is built on top of. This talk will introduce you to the project in general and cover the architectures of the latest projects under the Doctrine umbrella
Grokking the REST Architectural Style
Ben Ramsey
Moontoast
REST has become a hip buzzword of Web 2.0. But what makes an application RESTful? In this talk, Ben Ramsey reintroduces REST, uncovering each constraint that forms REST's principles. Ramsey explains how REST is a style for network-based software applications, emphasizing scalability and efficiency through separation of concerns and taking advantage of the Web as a platform for rich applications.
Advanced Date/Time Handling with PHP
Derick Rethans
PHP has powerful date/time handling functionality. It allows you to deal with many issues that arise when you are developing applications. This talk will only cover the new functionality and is not an introduction except for where this is necessary. I will cover dealing with timezones, calculations with DateTime objects and tips and tricks for dealing with storing date/time information.
Desktop Apps with PHP and Titanium
Ben Ramsey
Moontoast
Appcelerator Titanium is an open source platform for developing native desktop and mobile applications using the web technologies you're familiar with. Web developers can use their skills to develop for both the Web and desktop/mobile apps. Ben Ramsey will demonstrate a simple application in Titanium Desktop, showing examples using JavaScript and PHP to power dynamic desktop applications.
The PHP performance paradox
Zeev Suraski
Zend Technologies
During the last few years many features were added to PHP 5, but in a seemingly counter-intuitive way, it also became significantly faster with each major release. This session will describe the internals of PHP, the PHP Virtual Machine and the most important PHP 5 changes and optimizations related to performance.
Security 202: And you thought you'd be secure
Arne Blankerts
thePHP.cc
Being the good developer that you are, all the applications you create are being designed with security in mind. Following all the known best practices, you know you did your job well. Or did you? In this session we will take a look at the most common security myths and why quite many approaches and common solutions just don't quite cut it.Find out what your options are to really get the job done!
A new approach to object persistence in PHP
Stefan Priebsch
thePHP.cc
The object-relational impedance mismatch makes persisting PHP objects in a relational database a daunting task. How about these new schemaless NoSQL databases? We will have a look at the problems involved with persisting PHP objects, and introduce design patterns that help solving these problems. Putting the patterns to good use, we will build a working PHP object persistence solution for MongoDB.
Dependency Injection
Fabien Potencier
Sensio
This session will introduce one of the less-known design patterns in the PHP world, but also one that can greatly improve the decoupling and the testability of your code: Dependency Injection. I will demonstrate how to use Dependency Injection in your projects, and I will take advantage of the PHP 5.3 new features to create a fully-featured DI container live.
PHP in a mobile ecosystem
Ivo Jansch
2010 is the year the web became mobile. A significant portion of the mobile web has moved from the browser to the 'apps' domain. The iPhone, iPad and various Android phones have popularized the app concept. Apps are not written in PHP, so are we moving away from PHP? In this session, Ivo takes a look at PHP's role in the mobile web, and why he thinks PHP is a great tool in the App revolution
Effective PHP coding in JetBrains PhpStorm
Alexey Gopachenko
In this session we show how PhpStorm IDE makes you more productive when coding. This includes both basic editor assistance for writing better code (code completion, intention actions, live templates and refactorings) and advanced coding assistance techniques for any modern PHP framework, made possible by providing the IDE with metadata about magic stuff and class loading rules.
Best Practices in deploying PHP applications
Shahar Evron
Zend Technologies
PHP developers have always struggled with the best way to deploy applications. Solutions range from simple ftp to complicated scripts that merge sourcecode control and rsync. This session will present an alternative to rolling your own. A new standard for applicationdeployment that will not only ease the burden of deploying but will help standardize the process across the PHP ecosystem.
Topic At A Glance
- Continuous Inspection and Integration of PHP Projects
- The State of SOAP in PHP
- XML Versus the New Kids On The Block
- Bad Guy For a Day - A Websecurity hands-on tutorial
- Taming the Untestable Beast
- Caching on the Edge
- Memcached, the Better Memcache Interface
- Hidden Features of PHP
- Zend Studio Tips and Tricks!
- The Power Tool for PHP and JavaScript Development
- Flex + Flickr = Fleckr?
- Doctrine MongoDB Object Document Mapper (ODM)
- Zend PHP Certification Boot Camp
- Modeling Tips, Tricks and Best Practices
- 484 Days of PHP 5.3 and What Have We Done (And Learned)?
- Rev it up with PHP and IIS
- Cloudy with a Chance of PHP
- The Doctrine Project
- Grokking the REST Architectural Style
- Advanced Date/Time Handling with PHP
- Desktop Apps with PHP and Titanium
- The PHP performance paradox
- Security 202: And you thought you'd be secure
- A new approach to object persistence in PHP
- Dependency Injection
- PHP in a mobile ecosystem
- Effective PHP coding in JetBrains PhpStorm
- Best Practices in deploying PHP applications
More sessions will follow soon!

