_array

05 June 2008 // php. things.

_array is a (yet another) attempt to create object oriented API for php arrays.

download

more...

makrell 0.1

20 May 2008 // php. things.

First "release" of makrell

download

documentation

test file (requires testik)

testik, the little unit tester

02 April 2008 // php. things.

Unit testing and TDD are great and so is SimpleTest, however there's a problem: you have to write code for tests, and sometimes quite a lot. And this code is often not really readable and self-documented. testik is an attempt to make testing as simple as it could be.

more...

cut-and-paste technique for complex regexps

07 March 2008 // php. stuff.

It's often desired to transform some text ignoring specific parts of it. The "classical" example is to replace something in html, not touching the tags.

more...

generating combinations in php

10 September 2007 // php. stuff.

This is just a follow-up to the previous post, describes how to enumerate combinations using php iterators.

more...

generating permutations in php

16 August 2007 // php. stuff.

Generating permutations (all possible combinations) of characters or array elements is asked often in php groups. Although simple, the answer is relatively verbose, so I thought I post it here for later reference.

more...

makrell, the macro processor

23 July 2007 // php. things.

makrell is a simple but powerful macroprocessor for php language. It is aimed to simplify creating complex documents by using macros. A macro is a (typically short) chunk of text that replaces another (typically much longer) chunk. Macros act like functions in programming: once defined, they can be used over and over again.

The applications of makrell are templating, domain specific languages and php preprocessing.

more...

printing a plain-text table

16 January 2007 // php. stuff.

php function that creates a plain text table from array of arrays

more...

closures in php

18 December 2006 // php. stuff.

Php is definitely not a suitable language for functional programming. Php functions live in a parallel reality - when your program starts, the construction of functions is complete, nothing can be changed anymore. However, Php is an open language (as it has eval ), so it should be possible to do some experiments.

more...

quasi blocchi in php

08 December 2006 // php. stuff.

Every programmer knows that iterators are generally better than loops. Although php has a variety of iterator functions, their use is seriously limited, because there is no way to pass user code to the iterator.

more...

php serialize trickery

30 November 2006 // php. stuff.

A couple of code snippets that show how to do some intriguing stuff in oop php using serialization

more...

there are %d monkeys in the tree

29 October 2006 // php. stuff.

Simple functions to create php tree structures (nested arrays) from "flat" storage formats.

more...