schlitt.info - php, photography and private stuff ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :Author: Tobias Schlitt :Date: Thu, 19 Sep 2013 08:35:38 +0200 :Copyright: CC by-nc-sa ==== Work ==== - 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. - 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. - 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. - 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). - Back to Windows... Today I needed to start up my VMWare to test some PHP stuff on a Windows XP installation. I was quite curious, how I would perform after more than 4 years completly without Windows. Here are my experiences... - Dangers of CSRF and XSS Ilia has written a very good article about CSRF and XSS attacks, how they work and how to prevent them for ez.no. - 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. - New design: dynamic-webpages.de My friend Wolfgang, the maintainer of the largest German PHP community website dynamic-webpages.de, just relaunched his new design. I like it very much and it looks really neat! :) - 1st step for becoming a Gentoo developer: eZ Components ebuilds When Sebastian left the Gentoo project, I decided to give it a try to become a Gentoo developer, which is a quite long process. Now I took the first step and provided new ebuilds for the recent eZ Components release 2006.2. Since I'm not an official developer, yet, these ebuilds are only available through the Gentoo PHP overlay, for now. I think Luca will put them into portage, or at least into php-testing, as soon as he is back from Christmas vacation. - eZ Components class graph Jakob (a good friend of mine from the PHP UG Dortmund) has written a bash script to create class graphs (non UML conform, but what shalls?) from a PHP source directory. The resulting SVG is generated through GraphViz. He just ran the script on the eZ components. Here is a small excerpt: