Ilia recently brought up the topic of scalar type hints again. I would love scalar type hints, but a sensible implementation is not easy. I summarize some approaches in this post and talk about the problems they raise. [Read full post…]
On Friday, June 19th 2009, the PHP Barbecue Tour 2009 will visit Dortmund. The idea behind PHP BBQ is to bring PHP usergroups from the seminar room to the grill. We'll have special guests from the PHP/MySQL community attending and will have a great evening with lots of dead animals. If you want to join, don't hesitate, it's free! Just bring your own food and drinks. [Read full post…]
Derick was always bitching at me when doing releases for the huge amount of time needed to process the Webdav components sub directory. We always supposed, that the Subversion performance issues here resulted from the Webdav test suite, which consists of an awful lot of small test files and some sub-directories. I finally found the time to refactor the tests and the performance improvement is astonishing. [Read full post…]
At this weeks IPC, I attended the talk "Framework? No thank you, I will use my own!". In this article I take up my controversal thesis, that it might be wise to create your own framework, and explain my view in detail. In addition, I analyze, what a framework actually is and how it is typically seen in the PHP world. Do you use an OSS framework? Or did you build your own? [Read full post…]
I gave 2 sessions at this years IPC SE: A half-day workshop on XML with PHP, with special focus on XPath. And "WebDAV - the good, the bad and the evil", where I dug into the WebDAV protocol and the pitfalls of implementing a WebDAV server. Find and browse the slides directly online, here. [Read full post…]
As usual, the PHP Usergroup Dortmund will maintain a PHP@FrOSCon event at this years Free and Open Source Conference in St. Augustin (near Bonn), Germany. While we created an (amazing) sub-conference for PHP there last year, we will have a project room this year. However, we want to have some great talks in there again (as we had 2 and 3 years ago) and therefore need your help as a speaker! [Read full post…]
I first read about the identity map pattern in Patterns of Enterprise Application Architecture by Martin Fowler. The pattern affects the data access layer of an application and helps to avoid inconsistencies in data objects of your application.Since yesterdays alpha release of the PersistentObject package in eZ Components, we have an implementation of Identity Map. In this article I want to give you a rough overview on the pattern itself and show you how you can test and use the functionality of PersistentObject. [Read full post…]
Since version 5.3 PHP supports the GOTO statement. While this statement is useful to solve daily programming tasks like implementing finite state machines, it has some serious drawbacks against other programming languages that support the structured programming paradigm. Therefore the PHP core developers decided with one voice to enhance the language by a GOSUB statement. [Read full post…]
Last year, Jakob and me had to write an elaboration about XPath. This one should enable the members of our university project group to get into the general XML topic and to use XPath and related technologies during the project. This document is the result of our work and represents a comprehensive tutorial on XPath.XPath is the standard language for addressing parts of XML documents. This document gives a comprehensive introduction into and an overview on XPath. Starting with the XML tree model, different ways of addressing are explained. A dedicated chapter describes the possible addressing axis, their meaning and usage. A rough overview on important XPath functions and how to use functions in XPath in general is given. The last chapter concludes with a practical use case of XPath in XSLT. [Read full post…]
We just released the 2008.2 release of the eZ Components yesterday. This stable release received 6 months of care by the core developers and many contributors. Thanks to all of you for the great work!My tasks for 2008.2 were dedicated to the Webdav component. This package allows you to easily integrate WebDAV access features into your applications. For the new release I implemented support for authentication and authorization, which allows easy integration into your existing environment. In addition, I added lock support, so the Webdav component now complies to WebDAV class 2 (and almost 3). [Read full post…]