php - 避免在每个文件中都要求 vendor/autoload.php

标签 php composer-php autoload psr-4

我目前正在学习使用 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"];

提前致谢。

最佳答案

使用 .htaccess 中的配置 auto_prepend_file,您可以自动为所有请求的 PHP 文件添加一个 PHP 文件。只需将它放入您的 .htaccess 中,如下所示:

php_value auto_prepend_file "/path/to/file/before.php"
php_value auto_append_file "/path/to/file/after.php"

关于php - 避免在每个文件中都要求 vendor/autoload.php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47761110/

相关文章:

php - 从 MySQL 中双选数据

php - mysql 选择数组中的位置 (php, mysql)

symfony - 上次更新后升级 Symfony2 和 SonataAdminBundle(2013 年 3 月 1 日)

ruby-on-rails - 为什么 Rails 尝试在生产环境中自动加载此文件?

PHP使用来自 Composer 的自动加载器添加自定义命名空间

php - 根据目录结构自动加载命名空间

PHP 不填写 session 文件

php - 如何在执行多个查询时返回多个结果?

php - 在 Phing 中运行 Composer 安装的任务

php - 在 wordpress 插件中使用 Composer 包