Composer - 无法获得打包工作/加载

时间:2018-05-17 10:35:36

标签: include composer-php jwt require autoload

所以在这里和那里查看在线文档和用户评论,Composer似乎是一个很棒的工具,我之前使用过npm,所以我可以想象它会非常方便使用。只有一个问题,无论我尝试什么,我都无法使用Composer安装包。

我正在尝试安装Lcobucci的JWT软件包。我有一个现有的项目,我想添加它,但现有项目的设置方式是我在根目录中有一个functions.php文件,然后我的项目中包含的所有其他PHP脚本都包含该文件。函数文件包含数据库插件,数据库连接,包含等等。

我使用

直接安装了Composer包
composer require lcobucci/jwt

我还尝试通过创建JSON文件并运行

来安装它
composer install
就像它在文档中所说的那样。

然后我尝试在我的include中使用

包含autoload.php文件
require __DIR__. "/vendor/autoload.php";

然后我添加了

use Lcobucci\JWT\Parser; //JWT Parser Class

但它一直在抱怨当我尝试使用它时,该类并不存在。

然后我尝试在composer包的src文件夹中的所有实际PHP文件上手动使用require_once。依然没有。我尝试转换东西..试图看看PHP包含哪些文件

get_included_files();

我也试过

composer dumpautoload

但我得到的只是

Generating autoload files

我似乎错过了一些东西,这就是为什么我在发布这个问题时犹豫不决,但我现在花了几个小时才开始这样做,这让人感到沮丧。我有什么遗漏的吗?

如果有帮助的话,我在Windows 10 64位运行WAMP服务器上运行PHP 5.6.25和1.6.5。

编辑: 我刚刚意识到如果我披露了我的文件结构可能会有所帮助。 根 | -functions.php | -register     | -index.php |供应商     | -autoload.php     | -composer     | -lcobucci           | -src

我正在尝试从register.php文件中的index.php文件访问JWT库,该文件夹中包含了functions.php文件。功能如上所述。

1 个答案:

答案 0 :(得分:0)

所以我通过将use语句放在index.php文件中(即包含functions.php文件而不是包含在functions.php文件中的文件)修复了这个问题。

结果是命名空间/类的使用不会结转......或者我不完全确定,但如果我获得更多信息,我会更新此答案。