Outputting formatted XML using PHP

For an interpreter it doesn’t matter how much whitespace there is in an XML document and often you find that machines strip it all out to reduce the amount of bandwidth used. Often at the receiving end you want to show the output in a log file or page and need it to be formatted [...]

Pre-commit hook in Git: Running PHPUnit

Pre-commit hooks in git are one of those things you hardly think about but can help you automate tasks and do last-minute checks. A good example of this is running unit tests before commits, to make sure nothing broke; or checking your files using PHP_CodeSniffer. With [DocBlox][1] I use them to run my unit tests [...]

Multiple types of opening braces when matching pairs with the tokenizer/ext

Whilst I was testing DocBlox on the Solar Framework I found a bug in the part of the application where I match the curly brace pairs of structures (like classes, functions, methods, etc). Every time a variable was imported in a string using the {$var} notation my algorithm thought that the function/method had ended at the [...]

Introducing: DocBlox

Ever since I discovered phpDocumentor I have been fascinated by the idea of automatic Documentation Generation. Especially for large projects where an in-depth understanding of the code is a requirement. Unfortunately, the more I got to work with phpDocumentor the more issues surfaced with its performance, ease of use and above all: memory usage. Over [...]

phpStorm, a true delight to work with

During my career as a PHP developer (hobbyist and professional) I have tried a multitude of IDEs and tools to write code in. Every IDE I have found thus far did great things but had their downsides. It is with phpStorm that I can send at least some of those problems to the past

Released a new version of sfPropelRowLevelAccessBehaviorPlugin

After discovering a somewhat annoying bug had I removed the previous release of my plugin; I could not allow people to download and install a version of which I knew such a bug existed. Thus after some recoding and bug fixing I am proud to present version 1.1 of sfPropelRowLevelAccessBehaviorPlugin! You can find it in [...]

Symfony plugin released!

A few days ago I blogged about the lack of Row Level Access control in symfony. Although I still have too little time I was seduced to try and tackle this problem. The result is clear! A new plugin was born and it is available for all to enjoy at http://www.symfony-project.org/plugins/sfPropelRowLevelAccessBehaviorPlugin. It is very easy [...]

Row level ACL on symfony

Even though sfGuardPlugin is a great ACL plug-in; it unfortunately cannot handle Row Level Access. In most of my personal projects I require such a level of control and the solutions chosen always feel a bit ..hackish..

Using Symfony’s Lime in phpUnderControl

Do you know phpUnderControl? Do you know and use Lime? If you answered ‘Yes’ to the questions above then you will likely have tried to integrate Lime into phpUnderControl. So have I.. What I discovered was that there are 3 ways in which this problem can be solved. Use Lime’s xUnit output mechanism, only available [...]

Changed theming to use Crossbrand

I have not blogged in a while due to personal circumstances, like having started on a new job which keeps intensifying, but also because I was unsatisfied with the way my sites handle templating. Let me explain, I have a shared webhosting account and run multiple domains and subdomains. Some (actually most) of them require [...]