The International PHP Conference is the world’s first PHP conference and stands since more than a decade for top-notch pragmatic expertise in PHP and web technologies. At the IPC, internationally renowned experts from the PHP industry meet up with PHP users and developers from large and small companies. Here is the place where concepts emerge and ideas are born – the IPC signifies knowledge transfer at highest level.
Download der Präsentationen
Would you like docs with that?
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.
Integrating symfony and Zend Framework
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.
Advanced project tracking with arbit
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.
Debugging - Rules and Tools
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.
Creating clean code with Aspect-Oriented Programming
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.
Doctrine 2: Next Generation ORM
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.
Designing HTTP URLs and REST Interfaces
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.
Embracing Constraints with CouchDB
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.
From eZ to Zeta Components
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.
Geolocation and Maps with PHP
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.
How to scale a PHP Application
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.
"In search of" - integrating site search systems
Ian is a professional services consultant at Ibuildings in the UK, where he leads development teams for a variety of large enterprise clients. He blogs regularly at phpir.com, covering information retrieval, text mining, natural language processing and other interesting topics.
Introduction to AtomPub Web Services
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.
Increase performance and uptime with Apache Traffic Server
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.
Your Tests are lying!
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.
Virtualization Strategies for Developing and Deploying High Performance PHP Applications
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.
Why MVC is not an application architecture ...
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.
The Secret Recipe for a Rich and Juicy M
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.
Using Cassandra with your web application
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.
Security by Design
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.
State of the Mocks
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.
PHPUnit to the limit
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.
Practical PHP Refactoring
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?
PHP inside (of embedded devices)
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.
PHP - Yesterdays Scala and the Cobol of tomorrow?
PHP came a long way, and we are no longer the cool new kid on the block. On the other hand side we are still far away from being the new cobol, and there is a lot of great stuff going on inside php and the php community. What happened to PHP the last few years, what is happening right now and what will be the next 5 years? Is PHP ready for nowadays trends? Does it fit for Social Web, NoSQL and HTML 5? Should You better be learning Scala right now?
MySQL&PHP - The current state
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.
Introduction to Testing with Selenium
Any to any - Convert your documents
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.