PHP 随后需要的文件是否可以访问以前的要求?

PHP does a subsequently required file have access to previous requirements?

如果我 require 一个文件,比如 Composer 自动加载脚本,我随后 require 的文件可以访问该文件的 'contents' 吗? 我以前从来没有遇到过这个问题,但我似乎 运行 碰壁了。

加载脚本:

//load required class files
require "../server/frameworks/vendor/autoload.php";
//alias
use Mailgun\Mailgun;
//get config
require "../server/sitetools/config.php";

config.php

class sitetools{
    function __construct(){
        //Instantiate Mailgun
        $this->mg = new Mailgun("API_KEY");
        $this->domain = "domail.tld";
    }
}

然后,当我尝试实例化它时,我的 sitetools class 收到错误消息:Class 'Mailgun\Mailgun' not found

您需要将命名空间添加到 config.php,而不是加载脚本(如果您不在那里使用它...)。

config.php

use Mailgun\Mailgun;

class sitetools {
    function __construct(){
        //Instantiate Mailgun
        $this->mg = new Mailgun("API_KEY");
        $this->domain = "domail.tld";
    }
}

并且通过为您的脚本和您的 class 使用相同的文件名,您应该也可以为您自己的 class 使用 composer 自动加载器(它可能需要更多配置...).