laravel手动添加第三方 vendor 类自动加载

阅读数: 2582 2022年04月09日

要使用阿里云短信,官方提供了SDK,是 composer 包,想通过 composr required 安装并自动加载,找了2个方法

方法一:想在 https://packagist.org/ 直接找到阿里云短信包,直接使用 Composr required 安装,后面方便更新。发现没有单独的阿里云短信SDK包。要么就安装 AlibabaCloud 完整包。放弃。

方法二:直接下载的 SDK php版本到 vendor 目录下,但是要实现自动加载,必须按以下操作:


第一步:下载的阿里云短信SDK,解压,目录结构如下

这是一个标准的 composer 包,vendor 下面新建一个文件夹:alibabacloud,把代码帖进去


第二步:在 composer.json 文件里的 autoload 的 classmap 里加上第三方包的文件夹路径,如果是单独自动加载某个文件,则将其放在 files 里面。

"autoload": {
    "classmap": [
      "vendor/alibabacloud"
    ],
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    },
    "files" : ["app/Library/helpers.php"]
},


第三步:生成优化的自动加载文件(最重要)

composer dump-autoload -o
D:\work>composer dump-autoload -o
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: dcat/laravel-admin
Discovered Package: facade/ignition
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: spatie/eloquent-sortable
Package manifest generated successfully.
Generated optimized autoload files containing 6080 classes

没有报错就可以了。注意:有些报错可能与此无关,不要乱怀疑,分析报错原因,解决即可。

phpriji.cn | 网站地图 | 沪ICP备17015433号-1