Session
Web Application Architecture
Stefan Priebsch
thePHP.cc
2009-11-16 | 09:45 AM - 10:45 AM
| Clubraum
Architecture, like art, creates controversy. What some perceive as beautiful, others consider ugly. Since the architecture of a web application is far less "visible", it is important to make the right design decisions when creating a web application. Which architecture makes an application scalable and maintainable? How can we plan for extensibility, without over-engineering the application?
Symfony Components: What's in for you?
Fabien Potencier
Sensio
2009-11-17 | 04:30 PM - 05:30 PM
| Forum 1
Every month, the PHP developer toolbox gets better thanks to the PHP classes provided by ezComponents and the Zend Framework. Back in May 2009, the Symfony project announced yet another library of PHP classes: the "Symfony Components". In this session, I will give a quick overview of the components that you won't find elsewhere, how you can use them, and what's planned for the future.
Charsets & Encodings
Kore Nordmann
Manuel Pichler
2009-11-18 | 04:30 PM - 05:30 PM
| Clubraum
Jeder Webentwickler stößt früher oder später auf sie: Zeichensatzprobleme. Die Möglichkeiten, dass etwas falsch läuft, sind vielfältig: User-Input-Handling, PHP-String Handling, das Storage Backend, die Ausgabe. Dieser Vortrag zeigt, wie man Zeichensätze mit PHP korrekt behandelt, sodass mit Sicherheit nie mehr komische, ungewollte Zeichen auf der Webseite zu sehen sind.
Better know a Version: PHP 5.3, Volume two
Johannes Schlüter
Sun Microsystems
David Zülke
Bitextender GmbH
2009-11-16 | 04:00 PM - 05:00 PM
| Forum 2
PHP 5.3's major new features everyone is talking about are namespaces and closures. However, there are a bunch of other exciting new features that make this new release a significant milestone in the project's progress: the intl extension, Phar, mysqlnd, SPL enhancements, late static binding and much more. This is part one of a joint presentation by Johannes Schlüter and David Zülke.
Better know a Version: PHP 5.3, Volume one
Johannes Schlüter
Sun Microsystems
David Zülke
Bitextender GmbH
2009-11-16 | 02:30 PM - 03:30 PM
| Forum 2
PHP 5.3's major new features everyone is talking about are namespaces and closures. However, there are a bunch of other exciting new features that make this new release a significant milestone in the project's progress: the intl extension, Phar, mysqlnd, SPL enhancements, late static binding and much more. This is part one of a joint presentation by Johannes Schlüter and David Zülke.
Building real-time Applications with XMPP
Travis Swicegood
2009-11-16 | 04:00 PM - 05:00 PM
| Forum 1
"Are we there yet?" "Are we there yet?" "How 'bout now?" Ever go on a trip where someone is impatient and continues to badger those around them with questions about how quickly we're arriving? It's annoying, yet this is how most modern web applications work! Stop the insanity and learn how you can use XMPP (eXtensible Messaging and Presence Protocol) in your applications today.
Reliable Acceptance Testing
Dagfinn Reiersøl
2009-11-18 | 04:30 PM - 05:30 PM
| Forum 2
We need automated acceptance testing and functional testing in addition to unit testing. But tests that exercise the whole application tend to be fragile and break whenever the user interface changes. In this session, we will look at tools for acceptance testing and strategies to create robust tests, including the test bus concept, test patterns and refactorings.
Xdebug — PHP developer's Swiss-Army Knife
Derick Rethans
eZ systems
2009-11-16 | 11:15 AM - 12:15 PM
| Clubraum
You write code, you introduce bugs. There is simply no way to avoid that. During this session I present an application with many styles of different bugs introduced into the code base. You will learn how to use debugging tools (Xdebug, KCacheGrind, etc.), that we're going to use to dive into the code and figure out what and where the bugs are.
PHP on the D-BUS
Derick Rethans
eZ systems
2009-11-18 | 09:00 AM - 10:00 AM
| Forum 2
The D-BUS Inter Process Communication mechanism is the basis for system-related functionality on Linux-based systems. In this presentation I will present a PHP/D-BUS integration to allow PHP to talk to D-BUS aware applications. I will demonstrate controlling Skype from PHP, as well as the implementation of PHP-GTK-based applications on the OpenMoko to talk to the f.e. GPS and GSM modules.
The state of SOAP in PHP
David Zülke
Bitextender GmbH
2009-11-18 | 03:15 PM - 04:15 PM
| Forum 2
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 of the extension such as type maps or SOAP header handling.
Code smells in PHP
Dagfinn Reiersøl
2009-11-17 | 01:45 PM - 02:15 PM
| Forum 1
Refactoring and cleaning up code is vitally important to design and architecture. But you need to know what must be refactored. The warning signs are known as code smells. In this session, we will study real-world examples of typical smells in PHP code (including primitive obsession, large class, longmethod and deep nesting) and learn how they can be dealt with effectively.
Fix your Architecture!
Thorsten Rinne
Mayflower GmbH
2009-11-16 | 11:15 AM - 12:15 PM
| Forum 1
Your agile PHP project is getting successful and you're adding new features because everything is priority #1. Your code base ages more and more a lot of anti patterns were introduced. This session will show you common anti pattern mistakes and the audience will learn how to fix the pitfalls and how to improve your code.
Lessons learned: Experience from the Front Line
Scott MacVicar
Jelsoft Enterprises Ltd
2009-11-17 | 09:00 AM - 10:00 AM
| Forum 1
Developing a PHP project is not an easy task. There are potential pitfalls around every corner. Having developed a widely-used PHP application (vBulletin) through several iterations over the past 7 years, I've learned many things that don't work and a few that do. This session will look at some of the problems that can occur when you have a shippable product.
Caching, sharding, distributing - Scaling best practices
Lars Jankowfsky
Swoodoo AG
2009-11-18 | 04:30 PM - 05:30 PM
| Forum 1
The german flight search engine Swoodoo was hit by heavy load spikes due to TV advertisments. Learn about the successful caching, hosting and database strategies we've implemented, and which did not work well. Covering file-based Caching, APC, memcached and sharded database layouts on to our experiences with fully virtualized hosting.
Analyzing PHP Code
Sebastian Bergmann
thePHP.cc
2009-11-18 | 01:45 PM - 02:45 PM
| Forum 1
Static code analysis is the analysis of software (without actually executing it) to understand it better. The programatic analysis of PHP code sits at the core of static analysis tools such as phpcpd, pdepend, phploc, or phpmd. This presentation shows how PHP extensions such as Bytekit and Tokenizer can be used to build tools that operate on PHP code in both sourcecode and bytecode form.
The State of Quality Assurance Tools for PHP
Sebastian Bergmann
thePHP.cc
2009-11-18 | 09:00 AM - 10:00 AM
| Clubraum
More and more PHP developers know about quality assurance tools for PHP such as PHPUnit, PHP_CodeSniffer, PHP_Depend, and phpUnderControl these days. This presentation, given by the creator of PHPUnit, provides a high-level overview of the quality assurance tools landscape and shows how these tools work and can be combined for increased benefit.
Debugging PHP with xDebug inside of Eclipse PDT 2.0
Bastian Feder
papaya Software GmbH
2009-11-18 | 10:30 AM - 11:30 AM
| Clubraum
This talk shall enable the attendee to get knowledge about the possibilites of Eclipse PDT to use xDebug as internal debugger. It shows how to install xDebug and give a deep introduction about how to enable Eclipse PDT version 2 to communicate with xDebug. Another topic of this talk would be the different debugging mechanism Eclipse PDT provides and how they work.
Extending Zend Framework and Extending with Zend Framework
Ralph Schindler
Zend Technologies Inc.
2009-11-17 | 10:30 AM - 11:30 AM
| 2.09
Zend Framework is widely known as having a "use-at-will" architecture, but what does that really mean? We'll explore two scenarios: One where developers use Zend Framework as a base and extend various components to suite their needs, and another where developers can extend nonZF code with ZF components. In conclusion, developers will have a necessary enough understanding to extend with and for ZF.
OAuth - ein offener Standard für die sichere Authentifizierung in APIs
Max Horváth
studiVZ Ltd.
2009-11-16 | 02:30 PM - 03:30 PM
| Forum 1
In dieser Session widmen wir uns dem offenen Standard OAuth. Er wird für die sichere Authentifizierung in APIs genutzt. Wir zeigen, wie man OAuth implementiert und wieso es sinnvoll ist, Drittanwendungen über OAuth an die eigene API anzubinden. Außerdem gehen wir darauf ein, wie eine eigene Webapplikation mittels OAuth mit anderen Services verbunden werden kann.
How to finally test your Legacy Code Nightmares
Benjamin Eberlei
direkt effekt GmbH
2009-11-18 | 03:15 PM - 04:15 PM
| Forum 1
Have you tried unit-testing your legacy application code and experienced considerable headaches and even moments of rage, despair or tears? Sounds familiar? In this talk I will present a set of PHP specific dependency breaking techniques and testing hacks that can help you test your worst nightmare legacy code.
Caching for Performance
Rob Allen
Big Room Internet
2009-11-18 | 01:45 PM - 02:45 PM
| Clubraum
This presentation will provide an overview on caching techniques that can be used in a PHP project to increase performance. We will look at a variety of caching techniques, showing practical implementations and before and after statistics. Cache storage options are available, and when you might use one over another will be covered, and we will also address how to get browsers to cache content for us.
Vorstellung von OpenSocial
Frank Ruske
Mayflower GmbH
2009-11-17 | 03:15 PM - 04:15 PM
| Forum 1
OpenSocial ist eine Sammlung von JavaScript APIS und REST/RPC Protokollen zum Erstellen von verteilten Anwendungen in Social Networks. Prominente Unterstützer wie XING, MySpace oder Friendster setzen auf diese Technologie. In diesem Vortrag gehe ich auf die Architektur bzw. Technologien ein und Stelle Apache Shinding vor, eine im Apache Incubator befindliche OpenSocial-Implementierung in PHP und Java.
Dependency Injection in PHP 5.2 and 5.3
Fabien Potencier
Sensio
2009-11-18 | 03:15 PM - 04:15 PM
| Clubraum
Developers are getting more professional every day by using web design patterns to solve common problems. 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 then take advantage of the PHP 5.3 new features to create a fully-featured DI container live.
Essential PHP for the Java/.NET Developer
Ralph Schindler
Zend Technologies Inc.
2009-11-16 | 02:30 PM - 03:30 PM
| 2.09
Good developers come from all sorts of different primary platforms. While it is common for PHP developers to move into Java/.NET, it's ever more common these days for Java/.NET developers to move towards PHP as a development platform. This talk will cover the essential differences, key points, epiphanies, and enlightenment any Java/.NET developer should have before embarking into PHP darkness.
Towards the Cloud: Event-driven Architectures in PHP
Benjamin Eberlei
direkt effekt GmbH
2009-11-16 | 05:15 PM - 06:15 PM
| Clubraum
Are you fed up with all the interdependencies in your applications? Want to be able to scale your business application across multiple servers without hassle? Event-driven architectures to the rescue! In this talk I show how to divide your tasks into small, perfectly scalable parts, empowering you to either scale with your own servers or benefit from cloud computing technologies.
Stress-free Deployment
Rob Allen
Big Room Internet
2009-11-18 | 09:00 AM - 10:00 AM
| Forum 1
This talk will look at stress-free deployment of new versions of a website. We will concentrate on approaches that ensure deploying new code to a live website goes smoothly. I will cover organising the source code within subversion and the mechanics of automatic deployment of a new version to the server. We will also look at how we roll back when something goes wrong.
Building configurable applications for the web
Tom Melendez
Yahoo!, Inc
2009-11-17 | 09:00 AM - 10:00 AM
| Forum 2
Today's web application needs to be many things: fast, intuitive, always available. In addition, today's web app needs to be something else: highly configurable. In this session, we'll discuss strategies in building your application so that it can be tuned in real time, minimizing downtime. Also discussed is configuration management, a necessity in deploying apps to multiple environments.
Zend Framework and the CLI
Cal Evans
Ibuildings
2009-11-17 | 09:00 AM - 10:00 AM
| Clubraum
Zend Framework is a powerful tool for building web-based applications. It can also be used to build great command line tools. There is no reason to abandon your Zend Framework tools just to create something that will run from a cron job. In this presentation we will examine what is necessary to build cli scripts using the Zend Framework with two example scripts to illustrate the points.
Design Patterns for PHP Developers
Cal Evans
Ibuildings
2009-11-16 | 09:45 AM - 10:45 AM
| Forum 2
This is a PHP 101 look at design patterns. A respectful jog through the temple of the GoF and then discuss real world use of the most common 4-8 patterns.
Best Practices bei der Entwicklung von öffentlichen APIs
Max Horváth
studiVZ Ltd.
Steffen Irrgang
studiVZ Ltd.
2009-11-17 | 04:30 PM - 05:30 PM
| Clubraum
In dieser Session soll praxisnah erörtert werden, welche Fallstricke und vor allem welche Best Practices in Bezug auf die Entwicklung von öffentlichen APIs zu beachten sind. Dabei konzentrieren wir uns auf RESTful Web Services sowie auf den offenen Authentifizierungsstandard OAuth.
Getting involved with the PHP Project
Scott MacVicar
Jelsoft Enterprises Ltd
2009-11-16 | 05:15 PM - 06:15 PM
| Forum 1
There is nothing more satisfying than seeing software you wrote go live and into production. Now imagine if that software was PHP and going live meant installations on millions of machines. The PHP project is always looking for contributors within PEAR, PECL, Documentation, QA or the Core. This session will cover how to get involved and there are things that can be done regardless of skill set.
PHPillow and CouchDB and PHP
Kore Nordmann
2009-11-18 | 10:30 AM - 11:30 AM
| Forum 1
Apache CouchDB is a distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP/JSON API, and PHPillow is a wrapper to easily access CouchDB from PHP. This talk will quickly introduce CouchDB and the PHPillow API and then show you how the concepts of CouchDB and PHPillow can contribute to your application design and development.
MySQL Code Review
Alex Aulbach
Mayflower GmbH
2009-11-17 | 03:15 PM - 04:15 PM
| Clubraum
Wie verbessert man Queries? Anhand von Codebeispielen wird Live untersucht, wie man (My)SQL-Code im fremdem PHP-Sourcecode findet, was daran gut oder schlecht ist und wie man ihn optimieren könnte. Es werden keine pauschalen Regeln gezeigt, sondern es wird jeweils fallbasiert untersucht. Eigene Beispiele können (mit einem Dump der Tabellenstrukturen) mitgebracht werden und werden anonym analysiert.
MySQL Performance Tuning for DBAs
Sonali Minocha
OSSCube
2009-11-17 | 01:45 PM - 02:15 PM
| Clubraum
Database and its optimization are usually taken for granted by most of the developers. This session is intended for PHP, Ruby and Java developers on performance tuning and optimization of MySQL. We will cover the deadly mistakes to be avoided, and we will take real life examples of optimizing application many times.
Zend Server und Zend Studio 7 Integration
Eric Ritchie
2009-11-17 | 01:45 PM - 02:15 PM
| 2.09
Die Integration von Zend Server mit Zend Studio, der PHP-IDE, hilft, bei der Entwicklung und der Produktion Zeit zu sparen. Gezeigt werden neben den Funktionen des Zend Servers die Möglichkeiten beim Profiling und Debugging in PHP-Anwendungen zur Optimierung und Fehleranalyse.
PHP Lifecycle
Baldur Scherabon
Zend Technologies
2009-11-16 | 09:45 AM - 10:45 AM
| 2.09
Hier werden Zend und der Werdegang des Unternehmens kurz vorgestellt. Vor allem aber: Wie hat sich PHP entwickelt und wie sieht der weltweite Einsatz von Zends PHP-Stack heute aus? Es wird erläutert, wie man durch den Einsatz von standardisierten und getesteten PHP-Stacks Zeit und Geld in Projekten sparen kann.
On-boarding PHP to Virtualization and Cloud Computing
Tobias Kunze Briseño
webappVM
2009-11-16 | 09:45 AM - 10:45 AM
| Forum 1
With both virtualization and cloud computing becoming reality, and between generic IaaS providers (Amazon, Rackspace, etc.) and highly restrictive platforms (Google AppEngine), there is a glaring lack of PaaS offerings that allow seamless on-boarding of PHP applications to public or private clouds. This talk shows how webappVM's Open-Source container could serve as a reference implementation for such a platform.
Dynamic PDF creation with Zend Java Bridge and Zend Framework
Eric Ritchie
2009-11-16 | 04:00 PM - 05:00 PM
| 2.09
Existing methods of PDF generation can be cumbersome and/or time consuming. However, this does not need to be the case. With the help of Zend Framework and Zend Java Bridge this presentation will demonstrate how to use simple templating to generate PDF documents as easily as you would produce HTML.
Bringing PHP to the Cloud
Gaylord Aulke
Zend Technologies
2009-11-17 | 04:30 PM - 05:30 PM
| 2.09
Gives a brief introduction to cloud computing topics, current status and perspective and explains how Zend Framework will be extended to support a unified interface to different Cloud environments.
Extending Zend Server GUI
Eric Ritchie
2009-11-16 | 11:15 AM - 12:15 PM
| 2.09
As the GUI of Zend Server is based on the open-source Zend Framework, you can easily extend it. This presentation demonstrates how to integrate new functionality alongside that of Zend Server. Specifically pages will be added that will allow the content of cached data and some cache meta information to be browsed.
Performance von Magento auf Zend Server
Baldur Scherabon
Zend Technologies
2009-11-16 | 05:15 PM - 06:15 PM
| 2.09
Welche Möglichkeiten bietet Zend Server in Verbindung mit Magento? Hier erfahren Sie die Vorteile dieser Integration. Es werden die Möglichkeiten von Zend Server und auch einige Konfigurationsmöglichkeiten in Magento gezeigt.
Validating XML - Avoiding the pain
Arne Blankerts
thePHP.cc
Tobias Schlitt
2009-11-17 | 03:15 PM - 04:15 PM
| Forum 2
Being an established and widespread standard for information interchange parsing xml with PHP is a common task. Yet to many validating the results is not. In this session you will learn why you should validate an xml document, what methods are available, what problems you are likely to run into and how to avoid them. We will look into common approaches and standards - like DTD, XML Schema and RelaxNG - on this matter.
XPath - A practical guide
Tobias Schlitt
Arne Blankerts
thePHP.cc
2009-11-17 | 01:45 PM - 02:15 PM
| Forum 2
SimpleXML, DOM, JavaScript, XSL or Selenium Tests: The XPath Query language can be used everywhere to easily navigate around within XML or HTML structures. This highly interactive session will give you an overview on the basic syntax, show you how XPath works with namespaces and how to solve common problems in the real world.
NetBeans IDE - The choice for PHP development
Petr Pisl
Sun Microsystems
2009-11-16 | 11:15 AM - 12:15 PM
| Forum 2
It was one year ago that NetBeans 6.5 first introduced a new distribution designed specifically for PHP developers. Since then, NetBeans IDE, the integrated development environment from Sun Microsystems, has enjoyed more and more popularity in the PHP community. In this session, we will cover the features that simplify everyday tasks, show capabilities that speed up the development of PHP web applications, and focus on new functionality arriving with NetBeans IDE 6.8. You will see new editor features, including how NetBeans IDE supports PHP 5.3, the Symfony framework, PHP Unit testing, JavaScript, CSS, and more.
Continuous Inspection and Integration of PHP Projects
Sebastian Bergmann
thePHP.cc
Stefan Priebsch
thePHP.cc
2009-11-16 | 02:30 PM - 03:30 PM
| Clubraum
Continuous Integration with automated code analysis and test execution has seen broad adoption in recent years. The ideas behind this 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.
Sichere Applikationen auf Basis des Zend-Frameworks
Stefan Esser
SektionEins GmbH
2009-11-17 | 03:15 PM - 04:15 PM
| 2.09
Immer mehr Entwickler setzen bei der Entwicklung neuer PHP-Applikationen auf den Einsatz des Zend-Frameworks. Dadurch ändert sich der Prozess, wie sichere Applikationen zu entwickeln sind. Diese Session vermittelt daher, welche Features von ZF es erleichtern, sichere Applikationen zu entwickeln, wie man diese einsetzt und welche Sicherheitsprobleme nach wie vor allein gelöst werden müssen.
DLS: A big PHP project for Deutsche Telekom. Challenges and learnings.
Gaylord Aulke
Zend Technologies
2009-11-17 | 09:00 AM - 10:00 AM
| 2.09
Gaylord and Jo will describe the genesis of a big PHP platform project at Deutsche Telekom AG. They describe the project and outline the benefits of PHP in this environment. Also the architecture will be described and the learnings from such a true enterprise project with PHP.
Tracks
Sessions
- Web Application Architecture
- Symfony Components: What's in for you?
- Charsets & Encodings
- Better know a Version: PHP 5.3, Volume two
- Better know a Version: PHP 5.3, Volume one
- Building real-time Applications with XMPP
- Reliable Acceptance Testing
- Xdebug — PHP developer's Swiss-Army Knife
- PHP on the D-BUS
- The state of SOAP in PHP
- Code smells in PHP
- Fix your Architecture!
- Lessons learned: Experience from the Front Line
- Caching, sharding, distributing - Scaling best practices
- Analyzing PHP Code
- The State of Quality Assurance Tools for PHP
- Debugging PHP with xDebug inside of Eclipse PDT 2.0
- Extending Zend Framework and Extending with Zend Framework
- OAuth - ein offener Standard für die sichere Authentifizierung in APIs
- How to finally test your Legacy Code Nightmares
- Caching for Performance
- Vorstellung von OpenSocial
- Dependency Injection in PHP 5.2 and 5.3
- Essential PHP for the Java/.NET Developer
- Towards the Cloud: Event-driven Architectures in PHP
- Stress-free Deployment
- Building configurable applications for the web
- Zend Framework and the CLI
- Design Patterns for PHP Developers
- Best Practices bei der Entwicklung von öffentlichen APIs
- Getting involved with the PHP Project
- PHPillow and CouchDB and PHP
- MySQL Code Review
- MySQL Performance Tuning for DBAs
- Zend Server und Zend Studio 7 Integration
- PHP Lifecycle
- On-boarding PHP to Virtualization and Cloud Computing
- Dynamic PDF creation with Zend Java Bridge and Zend Framework
- Bringing PHP to the Cloud
- Extending Zend Server GUI
- Performance von Magento auf Zend Server
- Validating XML - Avoiding the pain
- XPath - A practical guide
- NetBeans IDE - The choice for PHP development
- Continuous Inspection and Integration of PHP Projects
- Sichere Applikationen auf Basis des Zend-Frameworks
- DLS: A big PHP project for Deutsche Telekom. Challenges and learnings.


