Intereting Posts
PDO возвращает целочисленные столбцы как String в PHP5.4 PHPUnit: возможен вывод CLI во время тестовой отладки? «Недовольные символы UTF-8, возможно, неправильно закодированные» в Laravel Как создать триггер для удаления php myadmin Создание диапазона в поле ввода, таком как сообщения Facebook хотите отправлять письма с php, используя yahoo smtp CMB2 Повторяемый групповой дисплей PHP Auto update selectbox на основе 1-го выбора GAE, PHP и GCM: не удалось открыть поток: HTTP-запрос не удался! Метод HTTP / 1.0 405 не разрешен Изменение следующего раскрывающегося списка с предыдущим выпадающим событием onchange WooCommerce – получить пользовательский атрибут продукта Поиск IP-адреса клиента, подключенного через прокси-сервер Можно ли проверить, существует ли установленный ключ Redis, и если он не существует, установите его, если он существует, а затем выйдите, все как транзакция Если текущее время превышает 30 секунд за прошлый промежуток времени X (из базы данных) Как удалить повторяющиеся значения из массива в PHP

CodeIgniter – Как получить список всех моих контроллеров динамически?

Мне нужно запустить функцию для выполнения некоторых действий с каждым именем контроллера в моем проекте. Моя функция определена на контроллере следующим образом:

class Some_Controller extends CI_Controller{ public function someActions(){ // $listOfAllControllers = some_method_I_need_for_my_answer(); foreach($listOfAllControllers as $controllerName){ // some_action($controllerName) } } } 

Я хочу динамический список всех контроллеров, которые существуют в моем проекте .

Related of "CodeIgniter – Как получить список всех моих контроллеров динамически?"

Вам необходимо отсканировать свой /application/controllers directory и удалить из него расширение файла

  $controllers = array(); $this->load->helper('file'); // Scan files in the /application/controllers directory // Set the second param to TRUE or remove it if you // don't have controllers in sub directories $files = get_dir_file_info(APPPATH.'controllers', FALSE); // Loop through file names removing .php extension foreach ( array_keys($files) as $file ) { if ( $file != 'index.html' ) $controllers[] = str_replace('.php', '', $file); } print_r($controllers); // Array with all our controllers 

ИЛИ

Вы также можете следовать этой ссылке, чтобы достичь этого

список контроллеров

 foreach(glob(APPPATH . 'controllers/*' . 'php') as $controller){ $controller = basename($controller, '.php'); }