所以在这里和那里查看在线文档和用户评论,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文件。功能如上所述。
答案 0 :(得分:0)
所以我通过将use
语句放在index.php文件中(即包含functions.php文件而不是包含在functions.php文件中的文件)修复了这个问题。
结果是命名空间/类的使用不会结转......或者我不完全确定,但如果我获得更多信息,我会更新此答案。