Tracks & Sessions
Session
Your Tests are lying!
Sebastian Bergmann
thePHP.cc
Unit Tests help reducing the cost and risk of any individual change smaller. But how do you know that your tests are not lying and give you a false sense of confidence? In this session you will learn how to automatically detect problems in your test code, so called Test Smells, and how to avoid them. You will also learn how to write effective tests that will pay you back with information.
Using Cassandra with your web application
Tom Melendez
Skybox Imaging, Inc
You've got big data needs, ones that traditional RDBMS just don't fit. And you don't need the overhead. Introducing Cassandra, an open source, decentralized, key-value data store which can provide you with massive scale without a single point of failure. We'll discuss installation, configuration, how to talk to it with PHP and usage examples.
State of the Mocks
Sebastian Bergmann
thePHP.cc
When we are writing a test in which we cannot (or chose not to) use a real dependency, we can replace it with a Test Double. PHPUnit supports the automatic generation of stubs and mocks for this. Alternative mock object libraries such as Mockery and Phake promise to be more powerful yet to be easier to use. This session compares the various mock object implementations for PHP that are available.
Ran an den Klienten - ein Cache-Plugin für mysqlnd
Ulf Wendel
MySQL GmbH/Sun Microsystems GmbH
//Session will be in English upon request ("A caching plugin for mysqlnd") Kinder lieben es Türme zu bauen. Sie stapeln Bauklotz um Bauklotz aufeinander bis ihr Turm schwindelerregende Höhen erreicht. Programmierer haben sich kindliche Experimentierfreudigkeit erhalten. Sie stapeln Datenbankabstraktion auf Datenbankabstraktion. Der Quellcode profitiert, die Datenbank leidet. Ein Cache muss her: mysqlnd-Plugin oder MySQL Server Query Cache. Doch welchen und wie optimieren?
HTML5 for PHP Developers
Thorsten Rinne
Mayflower GmbH
HTML5 is the future. And the future has already begun! This talk will introduce the new features of HTML5 like Canvas, Web Storage, Websockets, Document Object Model 5 and Geolocation and how HTML5 will affect PHP developers.
Introduction to Testing with Selenium
Arne Blankerts
thePHP.cc
While unit tests usually cover all the important aspects of the backend, webbased frontends require a different approach - especially if javascript and client-side user interactions are to be tested. This session will introduce you to the powerful Selenium IDE and testing framework. You will learn how to create robust tests, using various selectors and how to integrate the tests with phpunit.
Why MVC is not an application architecture ...
Stefan Priebsch
thePHP.cc
... and how this should affect your code. Pretty much every PHP framework is based on MVC. We will explore what MVC was originally meant to be and how it is used (and abused) in web applications these days. We will find out where the model hides, and how to organize an application's business logic and clearly separate concerns. As a bonus, unit testing will become a lot easier.
Geolocation and Maps with PHP
Derick Rethans
This presentation covers the use of geolocation information with PHP. I will start with a theorectical background of all the services, mapping systems etc involved. After that, I will discuss on how to use geo-services from PHP. From obtaining of geo-location information through databases and services, mapping services to visualize geo-aware data to geo-aware data storage, manipulation and querying.
Practical PHP Refactoring
Stefan Priebsch
thePHP.cc
Refactoring - modifying software without affecting its behavior - can dramatically cut maintenance costs, and help avoid rewriting an application from scratch. We will demonstrate various refactoring patterns and use them on real-life code examples. What impact does refactoring have on application architecture, and how can developers sell refactoring to customers and the management?
Any to any - Convert your documents
Kore Nordmann
Qafoo
Tobias Schlitt
Qafoo GmbH
Not only in the CMS world converting between different document formats is an essential but painful task. (X)HTML, DocBook XML, different Wiki markup languages, PDF and OpenDocument can be easily converted into each other using the Zeta Document component. This talk will show you the possibilities based on practical examples and will also touch the internals of the component.
PHP inside
(of embedded devices)
Derick Rethans
Traditionally a web-only language, but that doesn't mean that it can only be used for web applications. This presentation will show you how PHP can be used on embedded devices. I will cover some basics for GUI design, but also cover issues that show up when you have to take care of low-memory, low-bandwidth situations as well as restrictions with input methods.
PHPUnit to the limit
Tobias Schlitt
Qafoo GmbH
Kore Nordmann
Qafoo
PHPUnit is the de facto standard for testing in PHP. Not only unit tests are developed using this framework, but also e.g. front end tests using Selenium integration. In this session we will discuss more edge cases where the flexibility of PHPUnit allows you to write tests and integrate them into your automated test run, even if they are clearly not unit tests anymore.
From eZ to Zeta Components
Tobias Schlitt
Qafoo GmbH
Kore Nordmann
Qafoo
Since June 2010 eZ Components are incubated for becoming a project of the Apache Software Foundation under their new name Zeta Components. How did that come? What about the future of the project? And what about eZ? Legal aspects? Can I still venture to use this stuff? Who is now maintaining? And wow can I get involved? These are just some of the questions to be answered in this session.
'In search of…' - integrating site search systems
Ian Barber
Ibuildings
Though often a key method of navigation, site search often gets the short end of the stick in development, either by handing the job over to Google or just enabling full text search in the database. In this talk we look at how full text search actually works, how to integrate search into your PHP application, and how it's possible to provide better results than Google - at least on your own site.
Debugging - Rules and Tools
Ian Barber
Ibuildings
Finding and fixing bugs is a major chunk of any developers time. This talk describes the basic rules for effective debugging in any language, but shows how the tools available in PHP can be used to find and fix even the most elusive error.
Security by Design
Arne Blankerts
thePHP.cc
While security is commonly referred to as input/output filtering and about preventing all kinds of attacks from becoming successful, there is a lot more on the non-visual side of web development. This talk will uncover all the small details that may disrupt the users trust in your application. It is about all the things you may forget when developing your application and planning the environment.
MySQL Query Tracing and Profiling
Johannes Schlüter
Oracle
Many performance-related presentations tell you that your bottleneck lies in the database. Following the famous 80/20 rule - 80 percent of the application are responsible for 20% of the resource usage - this presentation will discuss different tracing and profiling techniques available for PHP and MySQL to identify your bottlenecks and optimizing the parts of your setup which matter the most.
Designing HTTP URLs and REST Interfaces
David Zuelke
Bitextender GmbH
A lot of Web Services today claim to be RESTful APIs. But are they really? Do the URLs form a logical hierarchy, and do they accurately identify resources? Are the powers of HTTP leveraged properly? What is "hypermedia", and what is the secret behind the HATEOAS acronym that is so essential to the REST architectural style? This talk gives answers and guidelines using real-life examples.
MySQL&PHP - The current state
Johannes Schlüter
Oracle
MySQL is the most used database for PHP-powered applications. Still many users don't know much more than msql_query() and PDO::query(). This presentation will demonstratethe pros andcons ofthe different MySQL APIs for PHP (ext/mysql, msqli, pdo_msql) as well as demystify mysqlnd. It will also show recent advances by the PHP and MySQL development teams.
Advanced project tracking with arbit
Kore Nordmann
Qafoo
Arbit is open source and aims to be the next project tracker for your software projects, and is written in PHP. Besides issue tracking and Wikis it also provides integration with quality assurance tools, like PHPUnit, PHPCS and phpDepend. This talk will give an overview on its architecture, current state and how it will contribute to your development and maintance of PHP software.
Increase performance and uptime with Apache Traffic Server
Tom Melendez
Skybox Imaging, Inc
You've deployed your PHP application and your user base is growing from around the world. Do you need to rewrite your app for such a large scale? Do you need full installations in international colos? Maybe. Maybe not. Apache Traffic Server is a high-performance proxy and cache recently open-sourced by Yahoo!. Installation, usage, best practices and case studies will be covered at this talk.
Continuous Improvement in PHP Projects
Thorsten Rinne
Mayflower GmbH
We all know Continuous Integration and Continuous Inspection with PHPUnit, Hudson/phpUnderControl and other PHP QA Tools. But nowadays software gets more complex and we need a third CI process: Continuous Improvement. This process includes anti pattern detection, technical debt analysis and static code analysis. The talk will present tools like the PHP_CodeBrowser, Cinder, Padawan or PHPMD.
Gearman Job Server
Frank Ruske
Mayflower GmbH
Gearman ermöglicht paralleles abarbeiten von Aufgaben auf verteilten Systemen und Prozessen. Es bietet die Möglichkeit, Jobs zu parallelisieren, Last zu verteilen und Funktionen sprachübergreifend aufzurufen. In dieser Session werden neben den Grundlagen auch praxisbezogene Beispiele gezeigt.
The Secret Recipe for a Rich and Juicy M
Robert Lemke
Most Ms are stale and tasteless - and that although they are probably the most important ingredient of a tasty MVC implementation. This session is about the underestimated role of the M and how to create meaningful and clean Domain Models using Domain-Driven Design (a practical approach for creating clean apps for complex domains, independent from a specific technology). Bring your own apron.
Of knowledge sharing and the developer quality lifecycle
Jordi Boggiano
Nelmio
The buzz is all about software metrics, continuous integration and testing, but a rather simple way to achieve higher quality and make developers happy is to share knowledge and allow developers to learn and improve instead of only being milked for code. The session will go over multiple techniques implementable at a rather low cost that can improve knowledge sharing within a company or OS project.
JavaScript Scopes and Events
Jordi Boggiano
Nelmio
JavaScript is strange to many, misunderstood by some, but it can not be ignored anymore. Variables scoping and event bubbling are probably the most important things every web developer should understand about JavaScript. The session will explore them in depth.
Introduction to AtomPub Web Services
Ben Ramsey
Moontoast
Since 2003, the Atom format has been used as yet another feed format like RSS, but the Atom protocol opens the door to far more uses of Atom as both a means for distribution and publication. Ben Ramsey introduces the Atom format and protocol, explaining how these can form the foundation of any publishing service and serve as a platform for rich Internet applications.
First Steps: Lizenzverwaltung und Updates in Form eines eigenen PHP AppStores
Stefan Pasel
blueend web:applications
Webanwendungen genießen den großen Vorteil, dass Updates sich zentralisiert durchführen lassen, jedoch bedarf es im Rahmen einer Mehrkundenbeziehung eines effizienten Umgangs mit Systemversionen, Lizenzen etc. Weiterhin muss der Deployment-Prozess sich harmonisch in die vorhandenen Entwicklungsprozesse integrieren. Wir zeigen erste Schritte und Erfahrungen mit der Entwicklung eines PHP AppStores für unsere Softwarelösung xelos.net und geben Ideen für eigene Umsetzungen. Kernelemente sind hierbei u.a. eine Quellcode-Versionierung mit Subversion, Packaging und Encoding der Daten sowie eine Kommunikation mittels WebServices.
Creating clean code with Aspect-Oriented Programming
Robert Lemke
OOP helps us creating a clearly laid out and intuitive model of the reality by means of objects. However, concerns like security, logging or transactions need to be implemented virtually anywhere, resulting in scattered error-prone code. Aspect-Oriented Programming separates these cross-cutting concerns from the rest of the code and lets you handle them in a well-known, central location.
Embracing Constraints with CouchDB
David Zuelke
Bitextender GmbH
There has been a lot of buzz lately about the NoSQL movement in general and CouchDB in particular. For people who are used to relational databases, a lot of CouchDB's limitations look like severe disadvantages; these constraints however can also be great opportunities. This talk will give an overview of CouchDB and then focus on embracing the system's constraints to build better products.
How to scale a PHP Application
Jan Burkl
Zend Technologies GmbH
In this last years a lot of high traffic web sites have been built in PHP. One of the main problem to design a distributed PHP architecture is how to share session data between multiple servers. In this talk I would like to present the most used solutions to scale a PHP application along multiple servers using different technologies: nfs, database, memcache, Zend Server Cluster Manager, etc.
PHP als Glue-Language für Legacy-Systeme
Sascha Schumann
SOPRADO GmbH
Anbindung an Legacy-Systeme leicht gemacht. Wie steigert man den Wert von bestehenden Non-PHP-Infrastrukturen durch Einbindung von PHP. Welche Fallstricke gibt es, auf die man achten muss? Wo liegt das meiste Potential? Wir zeigen konkrete Erfahrungswerte. Bonus: Wie wir mithilfe von PHP ein Legacy-System mit einer Million Zeilen Code nach PHP konvertiert und das Ergebnis validiert haben.
Creating a flexible WebDAV server with PHP
Slavey Karadzhov
Zend Technologies GmbH
Why is WebDAV getting more and more interesting nowadays? In the PHP world we have already a couple of different implementations, but those are not always as flexible and well designed as one might want them to be. This talk shows ideas for a different kind of implementation of the WebDAV protocol and deals with the challenges that you will face when creating a flexible WebDAV server purely in PHP.
Lesser Known Security Problems in PHP Applications (2010 Edition)
Stefan Esser
SektionEins GmbH
When the security of PHP applications is in focus usually standard XSS vulnerabilities, SQL Injections, Remote File Inclusions, Header Injections and CSRF are discussed. However there are a number of different vulnerability classes and non obvious exploitation paths that are as dangerous but lesser known. This talk will give an insight in such vulnerabilities and how to defend against them. This includes all the new vulnerability classes that surfaced since 2008 when the previous edition of this session was given.
HTML5 Security
Stefan Esser
SektionEins GmbH
HTML5 is the new hot topic because it brings a lot of fancy new features to the world wide web. Browser vendors work hard to implement as many of the new standard as possible and web application developers on the other hand cannot wait to make use of all the new possibilities. This talk will therefore discuss new features of HTML5 from a security point of view. An insight will be given into the new chances and new risks HTML5 brings for web application security.
Daten im Web: OData
Dariusz Parys
Microsoft Deutschland GmbH
Web-Anwendungen leben von Daten. Die eigenen Daten ins Netz zu bringen ist oftmals nicht ganz trivial. Lernen Sie in dieser Session was OData ist, wie Sie davon als PHP-Entwickler profitieren können und wie Sie OData in Ihre PHP-Anwendungen integrieren können. Das ganze wird anhand von Beispielen live demonstriert und erläutert.
PHP Cloud Operating Patterns
Tobias Kunze Briseño
Red Hat
By now, we have all heard plenty of analyses and opinions regarding the benefits or pitfalls of The Cloud. What these reports are often lacking, though, is a perspective on operations: how does it actually "feel" to run in an environment where everything is fleeting and dynamic, where few things have an SLA and where we can't run diagnostics? Are there Best Practices we can follow? And, how does this all relate to DevOps?
This session will show how operations break down into patterns by application type. We will look at characteristics such as architectural complexity, frequency of change, and of course how deep application requirements reach into the stack. Attendants will learn how to evaluate clouds and applications for their deployment needs. The key takeaway is that operations matter in the cloud, in particular for PHP applications.
In the follow-on Hackathon Session, we'll do a Makara platform deep-dive and work on deploying and operating apps on Amazon EC2. Bring your app and Amazon credentials!
Makara On-Boarding Hackathon
Tobias Kunze Briseño
Red Hat
Beer, Pretzels, PHP and The Cloud! – After the "PHP Cloud Operating Patterns" talk we'll turn talk into action with a Makara Cloud Application Platform deep-dive. Bring your PHP applications and you Amazon credentials and we’ll get your app running on Amazon EC2. No code? No problem. Spectators are welcome, too.
Ein Silberstreifen am Horizont
Richard Temme
Peter Prochaska Softwareentwicklung
Content Management Systeme gibt es wie Sand am Meer, was dazu führt, dass schon die Wahl des richtigen Systems den Entwickler vor ein größeres Problem stellen kann. Alternativen zu den bekannten und großen CM-Systemen gibt es wenige. SilverStripe kann die Lösung für Ihr Problem sein. Diese Session soll es Ihnen ermöglichen, zukünftige Projekte mittels SilverStripe einfach und schnell umzusetzen.
RedSpark für PHP-Developer
Till Kubelke
Kuborgh* GmbH
Information to be updated, soon.
Integrating symfony and Zend Framework
Stefan Koopmanschap
Unlike popular belief it is not necessary to pick a single framework for a PHP project. On the contrary, it is quite easy to use more than one for your next project. The flexibility of PHP and the popular PHP frameworks allows an easy and close integration. During this presentation, you will get to see how to combine the best of both worlds into a single application of pure awesomeness.
Would you like docs with that?
Stefan Koopmanschap
For most developers, documentation is a necessary evil they'd rather skip. But really, is documentation that evil? Or is it actually useful? This presentation with show the types of (technical) documentation that can be written (often used ones such as functional & technical design, but also some unexpected ones such as commit messages), the reasons for documenting, and the tools that can be used.
Better Quality through Scrum
Dominik Jungowski
CHIP Xonio Online GmbH
Scrum is a popular method of agile project management. This session will introduce you to the Scrum basics, its set of methods and meetings, and will show you how Scrum will automatically increase the quality of your product and code by encouraging you to implement methods such as refactoring, test-driven development and fixing bugs immediately.
Virtualization Strategies for Developing and Deploying High Performance PHP Applications
Todd Trichler
Oracle
This session covers techniques for using OS virtualization in your PHP development, testing, and deployment environments. A demonstration and discussion of how to set up and use virtualization in a desktop environment will be shown.
The second half of the presentation covers tips for building high performance PHP applications with Oracle Database. Techniques shown include connection pooling, automatic data privacy for PHP application users, caching for performance, and how to suspend and resume database transactions to effectively build stateful web applications.
All attendees will receive a complete VirtualBox environment that they can use to test their existing PHP applications against an Oracle Database on Mac OS X, Windows or Linux.
Doctrine 2: Next Generation ORM
Benjamin Eberlei
SimpleThings GmbH
Object-Oriented Modeling in PHP projects has lead to a increasing demand for Object-Relational Mapping (ORM) tools in the last years. This talk introduces Doctrine 2, which is a powerful data-mapper that allows a clean separation of business logic and persistence. For the second generation we focused on loosing dead weight and came up with a simple, fast and extendable solution.
Agility and Quality
Sebastian Bergmann
thePHP.cc
Agile methodologies and processes have changed how PHP-based software projects are realized. This session gives an overview on how agility and quality can go hand-in-hand helping to deliver software on time and in budget. Agility does not stop at software development, though, but extends into other realms such as web operations. The audience will learn about some of the core ideas of DevOps, such as "Dark Launches", "Feature Flags" or "Gradual Ramps" that help with implementing continuous deployment strategies.
Develop for Lean Administration - Chances from the Cloud
Dana Stoll
aliando.com
Information to be updated, soon.
Tracks
Sessions
- Your Tests are lying!
- Using Cassandra with your web application
- State of the Mocks
- Ran an den Klienten - ein Cache-Plugin für mysqlnd
- HTML5 for PHP Developers
- Introduction to Testing with Selenium
- Why MVC is not an application architecture ...
- Geolocation and Maps with PHP
- Practical PHP Refactoring
- Any to any - Convert your documents
- PHP inside
(of embedded devices) - PHPUnit to the limit
- From eZ to Zeta Components
- 'In search of…' - integrating site search systems
- Debugging - Rules and Tools
- Security by Design
- MySQL Query Tracing and Profiling
- Designing HTTP URLs and REST Interfaces
- MySQL&PHP - The current state
- Advanced project tracking with arbit
- Increase performance and uptime with Apache Traffic Server
- Continuous Improvement in PHP Projects
- Gearman Job Server
- The Secret Recipe for a Rich and Juicy M
- Of knowledge sharing and the developer quality lifecycle
- JavaScript Scopes and Events
- Introduction to AtomPub Web Services
- First Steps: Lizenzverwaltung und Updates in Form eines eigenen PHP AppStores
- Creating clean code with Aspect-Oriented Programming
- Embracing Constraints with CouchDB
- How to scale a PHP Application
- PHP als Glue-Language für Legacy-Systeme
- Creating a flexible WebDAV server with PHP
- Lesser Known Security Problems in PHP Applications (2010 Edition)
- HTML5 Security
- Daten im Web: OData
- PHP Cloud Operating Patterns
- Makara On-Boarding Hackathon
- Ein Silberstreifen am Horizont
- RedSpark für PHP-Developer
- Integrating symfony and Zend Framework
- Would you like docs with that?
- Better Quality through Scrum
- Virtualization Strategies for Developing and Deploying High Performance PHP Applications
- Doctrine 2: Next Generation ORM
- Agility and Quality
- Develop for Lean Administration - Chances from the Cloud






