Refactoring as Part of Porting PHP4 to PHP7

I’m writing this pretty late, after a night of coding.

The LA IMC software port went kind of okay, but also kind of screwed up. There are a bunch of bugs popping up, but that was expected.

The first bug was simple: some of the code was still using the old classes, and some of the code was using the new classes. I had to search through the code to find out why this was happening, mainly by looking at the code.
Continue reading Refactoring as Part of Porting PHP4 to PHP7

PHP Namespaces and Autoloaders, Reviewed

Several years ago, I wrote an article about this, and it was really a mess, but the PHP community understanding about autoloaders and namespaces was a lot worse than it is today. This article attempts to amend and supercede the original, and explain the magic.

Continue reading PHP Namespaces and Autoloaders, Reviewed

PHP Partial Evaluation and Functional Style Programming for Nested Arrays

An example of partial application in PHP, using closures to implement functional-style programming. This technique helps to collapse loops into functions, and shorten code.

This article is based on an older article that has been cleaned up and improved.

Continue reading PHP Partial Evaluation and Functional Style Programming for Nested Arrays