【问题标题】:Add an external library to symfony添加外部库到 symfony
【发布时间】:2016-11-23 11:35:24
【问题描述】:

我正在尝试向 symfony 添加一个外部库。 我在 app/autoload.php 上试过这个:

$loader->add('LibCokeId',__DIR__ . '/../vendor/libcokeid/libcokeid/lib');

但是当我尝试在控制器中使用它时:

use libCokeId\LibCokeId

Libcokeid::init()

我收到了miss use语句错误。

有什么帮助吗?

【问题讨论】:

  • 如何安装库?它在packagist上不存在?它在 github 上有一个 repo 吗?有自定义自动加载器吗?你能指定完整的错误吗?抱歉问了太多问题:)
  • @Matteo 它不在 packagist 上,也没有作曲家或 github 存储库。错误是:尝试从命名空间“libCokeId”加载类“LibCokeId”。您是否忘记了“LibCokeId\LibCokeId”的“使用”语句?

标签: php symfony composer-php


【解决方案1】:

在你有一个不使用 composer 的库并且你无法从 packagegist 中检索它的情况下,你可以操作 Composer autoload

只需在composer.json文件中添加类,例如:

"autoload": {
    "psr-0": { "": "src/" },
    "files": [
        "vendor/folder/my_custom_lib/myFiles.php",
        "vendor/libcokeid/libcokeid/lib/libCokeId/LibCokeId.php"
    ]
},

或者您可以在composer.json 中自动加载整个文件夹:

"autoload": {
    "psr-0": { "": "src/" },
    "classmap": [
        "vendor/libcokeid/libcokeid/lib"
    ],
},

记得在设置后安装作曲家。

希望对您有所帮助。

【讨论】:

  • 这很完美。请记住在设置后进行作曲家安装。谢谢
  • 我将添加来自@SergioGonzález 的评论,因为它对我产生了影响:)
  • 它会只安装这个库,这意味着它不会触及以前的包吗?
猜你喜欢
  • 1970-01-01
  • 2022-11-12
  • 2014-08-25
  • 1970-01-01
  • 1970-01-01
  • 2011-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多