需要多个文件

问题描述 投票:0回答:2

我正在构建一个 PHP 应用程序,它使用选择菜单来构建电子邮件模板。模板被分成可重用的部分(每个部分都是一个单独的 html 文件)。有没有一种简单的方法可以用一个表达式要求多个文件? (我的PHP真是生疏了……)

本质上我想做类似的事情:

function require_multi() {
    require_once($File1);
    require_once($File2);
    require_once($File3);
    require_once($File4);
}
php include require
2个回答
14
投票

好吧,你可以把它变成一个函数:

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

像这样使用:

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

但是,如果您要包含类,更好的解决方案是使用 autoloading


2
投票

因为您想要要求或包含多个文件,您可以使用此递归 算法将文件包含在指定文件夹中。该文件夹是启动的根目录 迭代器。因为算法是递归的,所以会自动遍历所有 后续文件夹并包含这些文件。

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');
© www.soinside.com 2019 - 2024. All rights reserved.