Objects as keys
I’m going to put to vote soon another of my RFCs, namely one about “objects as keys“. So, I want to outline the case for it here and address some criticisms and questions raised while discussing it....
View ArticleDefault constructors
Consider the following code: class Animal { protected $what = "nothing"; function sound() { echo get_class($this)." says {$this->what}"; } } class Cow extends Animal { protected $what = "moo";...
View Articleunserialize() and being practical
I have recently revived my “filtered unserialize()” RFC and I plan to put it to vote today. Before I do that, I’d like to outline the arguments on why I think it is a good thing and put it in a...
View ArticleStatic typing
There is some renewed discussion about introducing static typing in PHP. I just read one very interesting post: The Safyness of Static Typing which I suggest everybody that is interested in this topic...
View ArticleLinkedInSecurity
This is an uncharacteristically non-PHP post, but I thought it may interest the audience anyway, and this is as good place as any to have it. So the TLDR of this post is that I’ve recently had an...
View ArticlePHP Spec – a dream come true
Almost 8 years ago, I wrote “What is PHP anyway?“. This blog is supposed to be about some long-term dreams, and in this case it was the dream come true – Sara Golemon and the excellent Facebook team...
View ArticlePHP 5.6 – looking forward
Having taken a look in the past, now it’s time to look into the future, namely 5.6 (PHP 7 is the future future, we’ll get there eventually). So I’d like to make some predictions of what would work well...
View ArticlePHP 5.4 – looking back
With 5.6.0 having been released and 5.4 branch nearing its well-earned retirement in security-fixes-only status I decided to try and revive this blog. As the last post before the long hiatus was about...
View Article5.4 is out!
Since May 2011 we have worked on releasing PHP 5.4, and now it happened. Thanks everybody who helped with it! PHP 5.4 has some new and exciting features – for some of them, like traits, I have no idea...
View ArticleZF Oauth Provider
Zend Framework has pretty good OAuth consumer implementation. However, it has no support for implementing OAuth provider, and it turns out that there aren’t many other libraries for it. Most examples...
View ArticleShortcuts
Being at OSCON, I’ve attended one good talk about Python oddities, which got me thinking about language syntax in general. PHP is notorious among scripting languages for it’s verbose syntax – you have...
View ArticleOn PHP features
When people ask why PHP doesn’t have this or that cool feature which allows to do some tricky mind-bending function and requires a dozen pages of manual to describe it, I find this quote from Brian W....
View ArticleAdding new extensions to Zend Studio
I am using Zend Studio for my everyday PHP work, and I like it. I know many others do too, or use PDT. It has one very cool – though not widely known – feature that allows you you to add unknown...
View ArticleChange!
On Monday was my first day on a new job. After 10+ year with Zend, I have decided that I need to change direction somewhat and do something a bit different. I was not easy to leave Zend, after so long...
View Articlezf book review
As I mentioned before, I got the book Zend Framework 1.8 Web Application Development for review. It took me a bit more time than I though to do this (one of the reasons will become clear soon) but here...
View Articlehiphop for php
By now probably everybody that is connected to PHP world knows about Facebook’s HipHop. So here are my thoughts about it. 1. This is a very cool and exciting technology. There were multiple attempts to...
View ArticleRuby-like iterators in PHP
I’ve started playing with Ruby recently, and one of the things that got my attention in Ruby were iterators. They are different inside from regular loops but work in a similar way, and looks like...
View Article5.2->5.3 migration script
Wrote an article on DevZone about migration script from php 5.2 to 5.3. This little script can save some time when you consider to move your codebase to run under 5.3 (which you should ). This script...
View Article