What you can do is
$thing = 'some_function';
$$thing = function() {
echo 'hi';
};
$some_function();
In php < 5.3, you’ll have to use create_function
instead of the anonymous function:
// Use this in < 5.3
$thing = 'some_function';
$$thing = create_function('',
'echo "hi";'
);
$some_function();
That being said, defining functions with dynamic names is a bad idea. Instead, create an array of functions you call in to, or use polymorphism.