有时候我们有这样的需求,一个项目的入口处,需要引入多个配置文件,最简单粗暴的方法是这样的。
require(__DIR__.'/config/database.php'); require(__DIR__.'/config/redis.php'); require(__DIR__.'/config/memcache.php');
这样引入自然是可以的,但是有两个问题:
- 如果我们增加了配置文件,就需要在这里增加一行代码来引入配置文件。
- 如果我们有很多配置文件(或者其他文件),这里就会写很多引入的语句。
PHP给我们提供了一个非常方便的函数glob,这个函数可以返回指定目录下的指定文件。我们这样写:
foreach(glob(__DIR__.'/config/*.php') as $php){ require_once $php; }
这样就引入了config目录下所有的php文件。
而且,glob还可以支持更复杂的检索方式,像这样:
foreach(glob(__DIR__.'/config/*/config*.php') as $php){ require_once $php; }
这样就引入了config目录下一级目录中的所有config开头的php文件。