Require multiple files

后端 未结 3 650
别跟我提以往
别跟我提以往 2021-01-02 10:20

I am building a PHP application that uses a select menu to build email templates. The templates are broken into reusable parts (each is a separate html file). Is there an

相关标签:
3条回答
  • 2021-01-02 10:27

    Credit to Tom Haigh from how to require all files in a folder?:

    $files = glob( $dir . '/*.php' );
    foreach ( $files as $file )
        require( $file );
    

    Store all your required files in $dir and the above code will do the rest.

    0 讨论(0)
  • 2021-01-02 10:41

    Well, you could turn it into a function:

    function require_multi($files) {
        $files = func_get_args();
        foreach($files as $file)
            require_once($file);
    }
    

    Use like this:

    require_multi("one.php", "two.php", ..);
    

    However, if you're including classes, a better solution would be to use autoloading.

    0 讨论(0)
  • 2021-01-02 10:44

    EDIT:

    Because you want to require or include multiple files, you could use this recursive algorithm to include files in a specified folder. The folder is the root that starts the iterator. Because the algorithm is recursive, it will automatically traverse all subsequent folders and include those files as well.

    public function include_all_files($root) {
        $d = new RecursiveDirectoryIterator($root);
        foreach (new RecursiveIteratorIterator($d) as $file => $f) {
            $ext = pathinfo($f, PATHINFO_EXTENSION);
            if ($ext == 'php' || $ext == 'inc')
                include_once ($file); // or require(), require_once(), include_once()
        }
    }
    
    include_all_files('./lib');
    
    0 讨论(0)
提交回复
热议问题