В этой строке:
$inst = $className::getInstance() //also fails
Вы используете оператор разрешения области.Вы должны использовать это '->' для доступа к элементам / методам данных объекта.
$inst = $className->getInstance() //also fails
В противном случае вам нужно использовать оператор разрешения области действия для класса, а не для объекта:
$inst = Controller::getInstance() //also fails
Я не знаю, откуда вы получаете значение из $ className как класса.Нет класса с именем IndexController.