我正在构建一个使用选择菜单构建电子邮件模板的PHP应用程序。模板被分解为可重用的部分(每个都是一个单独的html文件)。是否有一种简单的方法来要求具有一个表达式的多个文件? (我的PHP真的很生锈......)
基本上我想做类似的事情:
function require_multi() {
require_once($File1);
require_once($File2);
require_once($File3);
require_once($File4);
}
答案 0 :(得分:13)
好吧,你可以把它变成一个函数:
function require_multi($files) {
$files = func_get_args();
foreach($files as $file)
require_once($file);
}
像这样使用:
require_multi("one.php", "two.php", ..);
但是,如果您要包含课程,更好的解决方案是使用autoloading。
答案 1 :(得分:6)
从Tom Haigh致信how to require all files in a folder?:
$files = glob( $dir . '/*.php' );
foreach ( $files as $file )
require( $file );
将所有必需的文件存储在$dir
中,上述代码将完成剩下的工作。
答案 2 :(得分:1)
编辑:
因为您想要或包含多个文件,所以可以使用此递归 算法将文件包含在指定的文件夹中。该文件夹是启动的根目录 迭代器。因为算法是递归的,所以它会自动遍历所有 后续文件夹并包含这些文件。
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');