Мне _кажется_, что вы хотите сделать что-то не то.
1. Глобальные переменные — зло.
Смотрите service container (на пример Pimple)
Пример тут (читайте все):
silex-project.org/doc/services.html
2. Мне опять же кажется то, что вы делаете знакомым: ищите о Lambda Functions, Closures
fabien.potencier.org/article/17/on-php-5-3-lambda-functions-and-closures
Может вам нужно что-то такое?
$max_comparator = function ($max)
{
return function ($v) use ($max) { return $v > $max; };
};
$input = array(1, 2, 3, 4, 5);
$output = array_filter($input, $max_comparator(2));