вот скажите, зачем вам классы? только потому что автозагрузки функций нету?
class Function {
public static function foo() {
return 'foo';
}
public static function bar() {
return 'bar';
}
}
class Html {
public static function __callStatic($name, $arguments) {
// разрешаем вызывать только foo
if (!in_array($name, ['foo'])) {
throw new \RuntimeException(sprintf('Unable to find method %s in class %s', $name, __CLASS__));
}
return call_user_func_array(['Functions', $name], $arguments);
}
}
Html::foo() // 'foo'
Html::bar() // exception
только добавьте в phpdoc аннотации методов
либо сделайте так:
class Html {
public static function foo() {
return Functions::foo();
}
}
так будет правильнее.
p.s. я не знаю зачем вы это делаете, просто знайте. Вы делаете нехорошие вещи.