International PHP Conference 2007 Megapost

Date November 11, 2007

UPDATED: I added the following three talks to the post. If you know any other presentation which is accessible and is missing from here, please notify me! TIA

Beautiful code with AOP and DIRobert Lemke
This was a really great presentation, watch out: you will be infected! Robert shows us advanced programming concepts such as DDD (Domain Driven Design), AOP (Aspect-Oriented Programming), DI (Dependency Injection). This concepts serves a common aims to produce higher quality, maintainable, flexible software. Robert is the member of the Typo3 5.0 development team, and they are using this methods in their every day work. If you are interested in this topic you can find useful information in their home page or you should read the Bibles :) :

Recommended literature

Enhanced StreamWrappersFrank Kleine
This talk is about a really cool and unfortunately rarely used PHP feature: PHP streams. Frank will shows you how you can create custom stream wrappers, and some useful and advanced examples how you can use them.

Eclipse Hands On to development – Bastian Feder
Bastian’s mini talk is about how to integrate external tool to Eclipse. He is now setting up his blog, so you can download his presentation from my blog.

Tales from the eXtreme side | Lars Jankowfsky
Lars give us useful practical advices how to organize a team if you want to use extreme programming practices: ideal number of a team, office layout, daily tasks/routine, refactoring tips. He emphasizes the importance of writing always tests even for JavaScript codes. He talks about Continuous Integration and mentions useful tools to assure code quality: PHPUnit PMD (Project Mess Detector), CodeSniffer, Software Metrics, xDebug’s code coverage.

Practising Agile Development for Beginners | Lars Jankowfsky
Lars had an other interesting session about agile development. If you are interested in this topic you should look over the slides because they contain a lot of great information and resources.

Testing with PHPUnit and Selenium | Sebastian Bergmann, Max Horváth
Debugging sucks, testing rocks
This is a comprehensive talk about testing web applications. You can get information about the different type of tests, in which situation are they usable. It shows you the evolution from inline test codes to using complex testing tools and running the test automatically. Sebastian and Max present a very detailed example (a bowling game) how to develop an application using the TDD (Test Driven Development) methodology, how to organize your test suites. Then they talk about more advanced topics: software metrics, Selenium, testing object interaction (mock objects), database testing.

PHP Design Patterns | Stephan Schmidt, Frank Kleine
Unfortunately the slides are in German, but I think it would be a great workshop, you can through the slides and maybe you will find some interesting information crumbs as I did.

Common challenges in SQL apps | Lukas Smith
Lukas Smith (PEAR::MDB2) talks about general database and SQL (un)patterns. His presentation touches on topics like: schema design (data types, normalization, trees, queues etc.), indexes and constraints (over indexing, covering indexes, full text indexes, foreign key etc.), SELECT magic (optimization, using CASE statement, pivot tables, random ordering, ranking etc.), data changes (SQL injection, optimistic locking, MVCC, smart transactions, CSV import/export etc.) It is worth studying this presentation I am sure that you will find a lot of interesting points (which maybe will you guide to further reading/research).

Putting Phing to Work for You | Hans Lellelid (Propel, Phing)
Hans talks about Phing (what a surprise about the title :) ). He deal with the following topics in his presentation: phing basics, creating a first build file, transforming directories and files, performing PDO tasks, gathering user input, building phpdoc, running unit tests, integrating with Continuous Integration tools, using PHP code in a build file, building a simple task, writing more complex task, creating a shared type, custom filters, custom selectors, custom loggers/listeners, input handlers.

Test Driven Development | Derick Rethans
This talks is about TDD too, this topic is getting more and more important in the PHP world too.

IBM Project Zero | Rob Nicholson (Project Zero)
Unfortunately the URL of the slides are dead, but I put a comment at IBM website, and I’ll update the post, if anything is happen.

PHP6 – A look ahead | Stefan Priebsch
Stefan talks about the new features of the upcoming PHP 6. It is worth running trough the slides, because a lot of feature originally planned for PHP 6 will be part of PHP 5.3 which will be released in early 20072008.

PHP Tools and Automation | Stefan Priebsch
This talks enumerate a lot of tools which a developer may need to working effectively and to automating repetitive tasks: Subversion, Webdevloper Toolbar, Firebug, xDebug (KCachegrind), Eclipse – PDT, PHPDocumentor, PHPUnit, Selenium, XPather, PHP CodeSniffer, PHP CompatInfo, PHP Beautifier, phing, Virtual Machines, CruiseControl.

RegExp – Magic with text | Kore Nordmann
Support for regular expressions advanced a lot with PCRE 6 and 7. After an introduction into the basics of regular expressions this session covers the recent additions like recursive patterns and conditional subpatterns.

Diving into symfony | Dustin Whittle
This is a talk about the symfony framework, which is a full featured PHP application framework, supports the full development lifecycle. You can get an in-depth introduction about all parts of symfony.

Propel Your PHP Applications | Hans Lellelid (Propel, Phing)
This talk introduces the Propel PHP ORM tool. It shows you an overview of Propel, a typical work cycle, then you can get some more in-depth usage and advanced features.

Phing: Building with PHP | Hans Lellelid (Propel, Phing)
Hans talks about why can be useful a build tool. Todays application is getting more complex, you have to do a lot of CLI task related to your project: run unit tests, build API docs, install and package. Even deploying the application can be a complex task: setting permission, running generator, validating the contents of files (for example JavaScript, XML, PHP), etc., Phing can help you on these tasks.

Generating PDF using XSLT and FPDF | Thomas Weinert
Generate PDFs from XML content using XSLT/FPDF gives you several new features. You can add covers, create multicolumn pages, change the page orientation depending on the content and more. All in your corporate design.

A JSR-283 CR in pure PHP | Karsten Dambekalns
A Content Repository (CR) allows the storage and retrieval of arbitrary content as nodes and properties in a tree structure. The API for using a CR is standardized in the JSR-170 and JSR-283 specifications. The Typo3 team decided to port the JSR-283 specification as a part of the new Typo3 5.0 project. You can read about this work in this presentation.

Webdav with eZ Components | Tobias Schlitt
This talk gives us a little introduction to eZ Components, then it introduces WebDAV and the eZ webdav component.

Hands on eZ Components | Tobias Schlitt
If you follow this slides you can get an impression of the power of eZ Components. It is worth being familiar with possibilities of this library, any time you could need them.

A Workflow Engine for PHP 5 | Sebastian Bergmann
Workflow Management (WfM) is becoming more and more important. For the development and maintainance of software that supports workflows, a new layer on top of the base programming language is needed. Graph-Oriented Programming (GOP) is such a layer. This session presents the eZ Components’ workflow engine, its possible applications and the underlying principles and techniques.

5 Responses to “International PHP Conference 2007 Megapost”

  1. Stefan Priebsch said:

    Thanks for putting together this list. Just wanted to mention that release of PHP 5.3 is expected early 2008, not 2007. Yes, 2007 is almost past, and it went quick again …


  2. Felho said:

    @Stefan: thx and I fixed it. :)

  3. What’s new in PHP 5.3 - part 1: namespaces | Gergely Hodicska said:

    [...] my previous post I mentioned that PHP 5.3 will be released in early 2008 so I think it’s just in time to talk [...]

  4. Bastian said:

    Hey Felho,
    thanks for making my speech available through your blog.
    As you mentioned my blog is not ready yet, but will be to the end of this year.
    It will be a reachable via It major topics will be technical and culinary stuff – both are my major weaknesses ;o)

    stay tuned

  5. How to Get Six Pack Fast said:

    If you want to see a reader’s feedback :) , I rate this post for four from five. Decent info, but I just have to go to that damn yahoo to find the missed pieces. Thanks, anyway!

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>