Я думаю, вы можете сделать это
$filename = ucfirst(preg_replace("/[^a-z!]/",'',strtolower(pathinfo(__FILE__, PATHINFO_FILENAME))));
class {$filename} extends CI_Controller {}
Pathinfo ( FILE , PATHINFO_FILENAME) получить текущее имя файла.
{} гарантирует, что $имя файла сначала преобразуется в его значение, а затем новый класс может быть создан с этим именем.
Значение ucfirst (strtolower ()) таково, что вы получаете заглавную букву за первую букву.
Я был бы очень осторожен с этим, так как странные символы могут сломаться очень легко.Для этого я добавил preg_replace