【发布时间】:2018-05-25 11:01:09
【问题描述】:
我目前正在学习使用 composer 和 psr-4 在 php 中自动加载。我已经成功配置了我的 composer.json,我可以使用命名空间访问类。现在,问题是我必须在每个我想使用它的文件中包含 vendor/autoload.php。由于我的项目中的结构,它看起来像这样:
require("../../../vendor/autoload.php");
有没有更简洁的方法来做到这一点或避免在每个文件中都需要它?
我尝试了一些方法,例如使用该路由创建全局变量,但它不起作用。这是我尝试过的:
在我的 index.php 开头:
$GLOBAL["autoloadPath"]= $_SERVER['DOCUMENT_ROOT'] . '/ipa-crm/vendor/autoload.php';
然后我在我需要的每个文件中添加了这个:
require_once $GLOBAL["autoloadPath"];
提前致谢。
【问题讨论】:
-
我假设您尝试过 $GLOBALS 而不是 $GLOBAL?
-
经验教训,无论你做什么都将是一个黑客。下次有一个单一的入口点并使用命名空间通过路由器自动加载你的逻辑,而不是许多单独的文件。
标签: php composer-php autoload psr-4