PHP
-
Getting a list of week numbers between two dates
Recently, I was working on a PHP application that needed to show weekly summaries in the period of one month. Then, January came and I found myself looking at 48 weeks instead of the expected 4 to 5. This is the piece of code that I used in a Twig template. What the above does,…
-
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…