クロージャー

create_functionをつかっちまった。
クソやろーとか言ってごめんなさいごめんなさい。

こんな風に引数渡せるのね。

<?php
class myDoctrineCollection extends Doctrine_Collection
{
    public function sortBy($column, $order = 'asc')
    {
        $sortOrder = (strtolower($order) == 'desc') ? -1 : 1;
        usort($this->data,  function ($a, $b) use ($column, $sortOrder) {
            return strcmp($a->{$column}, $b->{$column}) * $sortOrder;
        });
        return $this;
    }
}

use++

ちなみにこれはsymfony1.4のDoctrineで、Doctrine_Collectionでソートをするための拡張