Including a whole directory in PHP or Wildcard for use in PHP Include?

狂风中的少年 提交于 2019-12-01 05:14:39
thomasmalt

Why do you want to do that? Isn't it a better solution to only include the library when needing it to increase speed and reduce footprint?

Something like this:

Class Interpreter 
{
    public function __construct($command = null)
    {
        $file = 'Command'.$command.'.php';

        if (!file_exists($file)) {
             throw new Exception('Invalid command passed to constructor');
        }

        include_once $file;

        // do other code here.
    }
}
foreach (glob("*.php") as $filename) {
    require_once $filename;
}

I'd be careful with something like that though and always prefer "manually" including files. If that's too burdensome, maybe some refactoring is in order. Another solution may be to autoload classes.

You can't require_once a wildcard, but you can programmatically find all the files in that directory and then require them in a loop

foreach (glob("*.php") as $filename) {
    require_once($filename) ;
}

http://php.net/glob

You can include all files using foreach ()
Store all files name in array.

$array =  array('read','test');

foreach ($array as $value) {
    include_once $value.".php";
}

It's 2015 now, so you're most likely running PHP >= 5. If so, as mentioned a couple of times above, PHP's autoload capability is a good solution, probably the best. It was created specifically so you won't have to write a utility function for auto loading. However, as mentioned in the PHP docs, __autoload is no longer recommend and may be depreciated in future versions. As long as you're using PHP >= 5.1.2, use spl_autoload_register instead.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!