PHP __callStatic&无效的方法名称字符

Quick question regarding __callStatic() in PHP;

class Test{
    public static function __callStatic($method, $arguments){
        echo $method . PHP_EOL;
    }
    public function __call($method, $arguments){
        echo $method . PHP_EOL;
    }
}

$test = new Test();

$test->foo();
$test->{'hello-world'}();

Test::bar();
Test::{'goodbye-universe'}();

Expected output:

foo
hello-world
bar
goodbye-universe

Actual output:

foo
hello-world
bar
PHP Parse error:  syntax error, unexpected '{', expecting T_STRING or T_VARIABLE or '$' in - on line 18

Is this syntax not permissible, nor functionality achievable with __callStatic()?

Note: Trying to get away with no temporary variables. The following will work:

$goodbyeUniverse = 'goodbye-universe';
Test::$goodbyeUniverse();

But I'm trying to avoid that.

This has been resolved in PHP 5.4

04 Aug 2011, PHP 5.4.0 Alpha 3
- Added features:
 . Short array syntax, see UPGRADING guide for full details
   (rsky0711 at gmail . com, sebastian.deutsch at 9elements . com, Pierre)
 . Binary numbers format (0b001010). (Jonah dot Harris at gmail dot com)
 . Support for Class::{expr}() syntax (Pierrick)

https://svn.php.net/repository/php/php-src/tags/php_5_4_0RC8/NEWS

I don't think the PHP parser can handle that currently. I cannot prove it just now, but I think it's a similar issue like the array-dereferencing-issue after function calls (callme()['arraykey']).

you could invoke a static function via call_user_func().