|
"Science is like sex: sometimes something useful comes out,
but that is not the reason we are doing it." — Richard Feynman
This page is dedicated to my work with PHP.
If you find it useful and would like to buy me a present, check out my
wishlist or see the Amazon Honor System Paybox on this page.
Contributions
I've started contributing to PHP development in late 1998, and since then I've
done a few things.
- PHP-GTK
- Extensions: Perl-compatible regular expressions, WDDX support, PHP code tokenizer, userspace object overloading, object aggregation
- Console_Getopt PEAR class
- Session extension additions
- A variety of array and other functions
- Zend engine contributions
- Smarty template engine
- Online PHP code browsing (Bonsai/LXR)
- Automated ChangeLog generation
Software
Please see downloads page.
Patches
These are unofficial patches for PHP. Currently (un)available ones are:
- Case-sensitivity [ZendEngine2]
This patch removes the horrible mutation that is the case-insensitivity
feature of PHP. But it doesn't work against the current CVS. And even if
it did, convincing the other half of PHP developers that it's necessary is
futile. So just go get a beer instead.
is operator [ZendEngine2]
Update: This has been implemented in Zend Engine 2 as
instanceof operator now. The patch is somewhat obsolete, then.
Introduces new operator is which can be used to find out whether a
value is of a certain type or class. It obviates the need for all the is_*()
type query functions, including is_a(). Example:
<?php
class foo {
}
class bar extends foo {
}
class zoo {
}
$a = new bar;
$b = 5;
$c = "test";
var_dump($a is bar);
var_dump($a is foo);
var_dump($a is zoo);
var_dump($b is (int));
var_dump($c is (bool));
?>
- Concatenation and object
operator change [ZendEngine2]
Update: probably doesn't work against current CVS. It was a crazy idea
anyway.
Inspired by Larry Wall's talk on Perl 6. This patch changes concatenation
operator to be ' _ ' (note the whitespace) instead of
. (dot), and object operator -> to the newly
available . (dot). Looks much better and easier to type, IMHO.
Example:
$a = 'a' _ 'b';
var_dump($a);
$b = $a
_ $a;
var_dump($b);
$b _= '55';
var_dump($b);
class foo {
var $bar;
function blah()
{
print "hey\n";
}
}
$c = new foo;
var_dump($c.bar);
$c.blah();
|