如何包含名称存储在 PHP 数组中的文件?
How to include files which names are stored in array in PHP?
我想稍微简化一下PHP中包含或需要处理的文件,所以我写了函数:
$files = array("filename", "other_filename");
function required_files($filenames) {
foreach ($filenames as $filename) {
require_once("admin/files/".$filename.".php");
}
}
required_files($files);
不幸的是,它不起作用,但我知道它正在由 PHP 处理,因为每当我将 "filename" 更改为不存在的文件名时,我得到关于该文件的错误不存在。我在这里做错了什么?
PS:我试过echo
或return
require_once()
但没有效果。
编辑
这在 Wordpress 模板的 functions.php 中。
似乎你想要的是不可能的,至少在不声明包含文件中的所有变量为全局变量的情况下是不可能的(这可能是个坏主意)。
虽然这个问题不是完全重复的,但可以在 SO here and here.
上找到(我认为)真正被问到的问题的答案
如果项目是面向对象的,使用 autoloader 是一个很好的替代方法,但如果代码是以过程风格编写的,当然是不可行的。
我想稍微简化一下PHP中包含或需要处理的文件,所以我写了函数:
$files = array("filename", "other_filename");
function required_files($filenames) {
foreach ($filenames as $filename) {
require_once("admin/files/".$filename.".php");
}
}
required_files($files);
不幸的是,它不起作用,但我知道它正在由 PHP 处理,因为每当我将 "filename" 更改为不存在的文件名时,我得到关于该文件的错误不存在。我在这里做错了什么?
PS:我试过echo
或return
require_once()
但没有效果。
编辑
这在 Wordpress 模板的 functions.php 中。
似乎你想要的是不可能的,至少在不声明包含文件中的所有变量为全局变量的情况下是不可能的(这可能是个坏主意)。
虽然这个问题不是完全重复的,但可以在 SO here and here.
上找到(我认为)真正被问到的问题的答案如果项目是面向对象的,使用 autoloader 是一个很好的替代方法,但如果代码是以过程风格编写的,当然是不可行的。