I am trying to load PHP _object_s stored in a data_base_, where the class name is stored in a column: $_object_ = new $resultSet-getString(1); This fails for the same reason that the following fails: <?php class Foo { public function className() { return 'Foo'; } } $foo = new Foo; $bar = new $foo-className(); Fatal error: Class name must be a valid _object_ or a string in test.php on line 12 I guess this error is due to the confusion of parsing () as the argument list for the className function, or the Foo constructor... I work around this error by using a temp variable: $tmp = $foo-className(); $bar = new $tmp; - however the above reads like hacky code : ( When calling dynamically named functions, I generally use call_user_func() to avoid awkwardness with $_object_-$tmp($arg1, ...) In other words, I prefer: call_user_func(array($_object_, 'get'.$someName), $arg1, ...); - to: $tmp = 'get'.$someName; $_object_-$tmp($arg1, ...); However there does not appear to be an analog of call_user_func() for constructing new instances of dynamically named classes? If I recall correctly, there was also a way to work around calling dynamically named functions (e.g. $_object_-$tmp($arg1, ...)

using curly braces: $_object_-{'get'.$someName}($arg1, ...); - however I cannot recall the exact syntax. Can anyone confirm that there is a curly brace syntax for calling dynamically named functions? Could it be applied to instantiating dynamically named classes? Can anyone recommend a cleaner alternative to: $tmp = $foo-className(); $bar = new $tmp; Thanks and best wishes, Jack