Archive for September, 2010
Are you feeling idle these days? Do you have a deep gnawing feeling to do something before you go nuts? Playing the same old maps in Modern Warfare 2 night in and night out deperately trying to keep boredom at bay? Then today we have great news, because for the low low price of $0 (excl. ISP charges) you are invited to spend some of your free time contributing to Zend Framework 2.0. That’s right! It’s free! We’ll even throw in free access to Github.com and a free Getting Started With Git Guide!
What do you get for this ultra low price? Action! Excitement! Drama! Witness the birth of the fastest framework in PHP (or your money back). Better still, help it through its birthing pains today and lay claim to ego inflating bragging rights for years to come. They look good on a T-Shirt, office plaque or the next edition of your Curriculum Vitae or Resume.
Zend Framework 2.0 recently passed Milestone 1 on its development track and is rocking on PHP 5.3 in all its namespaced glory. Milestone 2 is the introduction of the new Exception regime to ensure all of the frameworks’ fun components throw Exceptions that are specific enough to be useful.
Why waste your idleness on the Devil’s work when you can be bringing salvation to armies of PHP programmers? Look up the List of Who’s Doing Which Component’s Exception Overhaul (or, The WDWCEO List for short). If a component is not listed, ask on the mailing lists if you can perform its Exception overhaul, and get cracking. It’ll tide you over until Activision’s next overpriced MW2 map pack or until Respawn announce details of their MW2 killer.
If you still have idle time, we are accepting new proposals for Zend Framework 2.0 (or maybe there’s a ZF 1.0 proposal you should consider updating to ZF 2.0?). There are tons of ZF 1.0 Zend_Service components that need to be migrated entirely to PHP 5.3 namespaced code for ZF 2.0.
The tasks are there. Where are you?
Perhaps you want to work on something component related? Want to know what everyone else has their fingers in so you can see which components are without maintainers or might like an extra pair of hands and some spare toes? Checkout the Components and Maintainers List for ZF 2.0.
So whip out your credit card, realise you get to do this for absolutely no cost (excl. ISP charges), put the credit card back in your wallet, and visit all the URLs contained above to get started. If you wish to speak to a Zend Framework customer representative visit the #zftalk.dev channel on Freenode.net and shout “I wanna contribute, dammit!”. Remember to specify that your age is above five years.
This is a time limited offer which ends when Hell freezes over. Better hurry up!
For a while now, I’ve been keen to build a HTML Sanitisation solution for PHP. Where else would I end up putting it other than in Zend Framework? As I’ve explored in past articles  , HTML Sanitisation in PHP is a very inconsistent practice. Sanitisers like HTMLPurifier are very secure out of the box but undeniably slow and resource intensive while others based on regular expression powered HTML parsing are much faster but tend to lose out a lot in the security stakes. Isn’t it possible to create a sanitiser that is both secure by default and performs well?
This was the core of the idea that became Wibble, my prototype for Zend\Html\Filter. Wibble borrowed sanitisation routines from a few programming languages to ensure secure operation, but relied entirely on PHP DOM and HTML Tidy for speed and HTML parsing. The resulting prototype was benchmarked  which proved that while Wibble could be faster than even regular expression based sanitisers (in scenarios where HTML was being manipulated) it most definitely would be faster than HTMLPurifier – without sacrificing security. Thus Wibble is capable of the best of both worlds – security and performance. The existing tradeoff in current solutions no longer applies.
You may read and comment on the proposal here: http://framework.zend.com/wiki/pages/viewpage.action?pageId=25002168. The proposal is up for review for Zend Framework 2.0.