Visiting the Bielefeld UG
Kore and me are going to visit the PHP Usergroup Bielefeld on Saturday for a christmas event. I'm very much looking forward to this and quite currious, if Bielefeld really exists (the german version of this article is much better)! ;)
Taint mode for PHP?
Wietse Venema, the creator of the Postfix MTA, posted a proposal for a "taint mode" to the PHP internals list. Before commenting his proposal, I'd like to give a short intro about what a "taint mode" is:
Object relation mapping in eZ Components
I wrote an article, that introduces the relation featuresw of our ORM compoenent "PersistentObject" to you, using a practical example application. For me the coolest feature of PersistentObject is, that the component does not require you're ORM enabled classes to inherit from a certain base to allow your objects to be stored in a database (made persistent). PersistentObject simply allows you to configure any of your applications objects to be persistent and you keep a nice an clean OO structure. If you are interessted in learning more, just follow my trip into PersistentObject on ez.no.
eZ Components in German "Linux Magazin"
The German "Linux Magazine" asked me a while ago to write an article about eZ Components for their special edition "Scripting 2.0" (dedicated to scripting languages). They published a shortened (and somewhat rephrased) version of the article online, as a teaser (German, of cause).
PHP@FrOSCon: Call for papers
The PHP Usergroup Dortmund is proud to announce the call for papers for this years PHP room at the "Free and OpenSource Conference". The conference, which is organized purely by open source enthusiasts on a voluntary basis, will take place from 2007-08-25 and 26. Location of the FrOSCon will again be the University of St. Augustin (near Bonn), Germany.
Why code coverage matters
I'm a fan of PHPUnit code coverage reports. And with this sentence I can see a lot of the developers out there shiver, because they are of the opinion, that code coverage reports for unit tests are nonsense and cannot give you any hint on the quality of a test suite. I see it a bit differently. Surely, a high code coverage rate of a test suite does never indicate, that code is well tested (if you have not written the code and tests yourself). But the other way around works: A small code coverage rate definitly means, that the test suite is not sufficient. But let me dig a bit deeper into code coverage and what it gives you.
Why documentation matters
If you kept an eye on Planet-PHP during the past days, you will have seen a discussion emerging about the sense of doc blocks and documentation in general. Travis Swicegood states a quite interessting point of view. His main point is, that program languages themselves are declarative and that it is somewhat stupid to describe the purpose of a method in plain english, if it has been already described by the programming language itself. Although I never thought in this direction so far, I can see a valid point here. Partly.
Comfortable PHP editing with VIM -6-
I recently added 2 new functions to my PHP FTPlugin for VIM, which I wanted to implement for a longer time and recently needed quite often:
Jeff Moore posted an article on procata.com about getters, setters and real properties. I fully agree with him. Especially the usage of interceptors (__get()/__set()/__isset()/__call()) makes your API a lot more readable and comfortable, while maintaining the purpose behind getters and setters: Checking the correctness of values assigned to a property and wrapping around retrieval mechanisms for a property. I personally call the way of maintaining value-correctness for properties through interceptors virtual properties, which fits quite nice I think.
I love namespaces
While I have been waiting for namespaces support in PHP since the early days of PHP 5, the recent proposal by Dmitry looks very promising to me. I really like the way, namespaces are defined and used. Especially the use of "::" for namespaces. This way of handling them looks much more intuitive than any other operator proposed so far (yes, I know, characters don't matter). I did not dig into internals of this proposal, but the post about it seems to be well-thought and the concept looks promising.