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

前端 未结 2 465
再見小時候
再見小時候 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:26
    foreach(glob(APPPATH . 'controllers/*' . 'php') as $controller){
       $controller = basename($controller, '.php');
    }
    
    0 讨论(0)
  • 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

    0 讨论(0)
提交回复
热议问题