CodeIgniter - How to get a list of all my controllers dynamically?

前端 未结 2 466
再見小時候
再見小時候 2021-01-15 15:48

I need to run a function to do some actions with each controller-name on my project. My function is defined on a controller like this:



        
2条回答
  •  说谎
    说谎 (楼主)
    2021-01-15 16:48

    You need to scan your /application/controllers directory and remove file extension from it

        $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
    

    OR

    You can also follow this link to achieve this

    controller list

提交回复
热议问题