изменить имя класса контроллера Codeigniter, используя имя файла - PullRequest
0 голосов
/ 08 октября 2018

Мне нужно изменить имя класса контроллера Ci автоматически, когда я изменю имя файла.

<?php if ( ! defined('BASEPATH')) exit('No direct script access 
allowed');
class $filename extends CI_Controller {
}

как я могу это сделать?

1 Ответ

0 голосов
/ 08 октября 2018

Я думаю, вы можете сделать это

$filename = ucfirst(preg_replace("/[^a-z!]/",'',strtolower(pathinfo(__FILE__, PATHINFO_FILENAME))));

class {$filename} extends CI_Controller {}

Pathinfo ( FILE , PATHINFO_FILENAME) получить текущее имя файла.

{} гарантирует, что $имя файла сначала преобразуется в его значение, а затем новый класс может быть создан с этим именем.

Значение ucfirst (strtolower ()) таково, что вы получаете заглавную букву за первую букву.

Я был бы очень осторожен с этим, так как странные символы могут сломаться очень легко.Для этого я добавил preg_replace

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...