将GitHub存储库添加到Laravel应用程序需要执行哪些步骤?

时间:2016-12-07 20:35:43

标签: php laravel github composer-php

我想在我的Laravel应用程序中使用以下GitHub repo:

https://github.com/khanamiryan/php-qrcode-detector-decoder

它没有设置作曲家,也没有从Packagist中找到它。我试图使用常规的php_require,但它告诉我" Class' App \ Http \ Controllers \ QrReader'找不到"。

无论如何,使用php_require感觉不对。处理这种情况的正确方法是什么?

3 个答案:

答案 0 :(得分:2)

在app根目录中创建一个新目录

mkdir third-party
cd third-party

克隆回购

git clone https://github.com/khanamiryan/php-qrcode-detector-decoder

编辑您的composer.json文件并将其添加到类图:

"classmap": [
    "database",
    "third-party/php-qrcode-detector-decoder"
],

更新班级地图:

composer dumpautoload

您应该在vendor/composer/autoload_classmap.php

中看到
'Zxing\\Binarizer' => $baseDir . '/third-party/php-qrcode-detector-decoder/lib/Binarizer.php',
'Zxing\\BinaryBitmap' => $baseDir . '/third-party/php-qrcode-detector-decoder/lib/BinaryBitmap.php',
...

然后你只需要使用它:

use Zxing\Reader;

答案 1 :(得分:0)

我认为主要的类是QrReader()。您可以将此类用作控制器类,但您需要扩展控制器类并修复导入。您也可以在laravel控制器上将此类导入为第三方类。 你需要使用QrReader()类吗? 然后将所有库文件App \ Libraries和主类放在App \ classes中。或者你也可以用自己的方式做。但请遵循以下内容 1)管理名称空间 2)使用

将类导入控制器
use App\classes\QrReader

最后,您将可以访问导入的类中定义的所有方法。但是在主类中,您需要更正库文件的路径和依赖关系。

您也可以尝试本教程: How to use external classes

你可以在这里阅读讨论(尼斯) Best way to import third party classes

答案 2 :(得分:0)

因为这个github项目没有composer.json文件,所以我认为你不能将它与composer一起使用。

但是,你可以分支回购,制作自己的副本,并为其添加一个作曲家文件。然后你就可以将它添加到你的主项目的composer.json文件中:

{
"repositories": [
    {
        "type": "git",
        "url": "https://github.com/your-git-account/php-qrcode-detector-decoder"
    }
],
"require": {
    "your-git-account/php-qrcode-detector-decoder": "dev-master"
}

希望这有帮助!

(来源https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository