手工下载php的composer软件包,如何让项目自动加载包里的类

作者: adm 分类: php 发布时间: 2023-05-19

有的时候需要手工下载php的composer包

1.将下载好的包放到项目的vendor目录下,比如包名topthink/think-view

2.然后查看软件包目录(vendor/topthink/think-view)下的composer.json文件,找到autoload,

这个key下面的配置就是该软件包里的类所需的自动加载类,

把里面的配置都复制到项目根目录下的composer.json的autoload下,

复制过来的配置需要修改相对路径,不然找不到相应的类文件。

3.在项目根目录下执行命令composer dump-autoload 重新生成自动加载的map。

4.此时在项目代码中就可以直接use 相应的类了。

//举例
//加内容之前
"autoload": {
        "psr-4": {
            "app\\": "app"
        },
        "psr-0": {
            "": "extend/"
        }
},
...
//psr-0和psr4是自动加载规范
//[PSR-0]规范已被弃用 - 此规范已于2014年10月21日被标记为弃用,目前最新的替代规范为 [PSR-4]
"autoload": {
        "psr-4": {
            "app\\": "app",
       // 增加的topthink/think-view包
            "think\\view\\driver\\": "vendor/topthink/think-view/src",
            "think\\": "vendor/topthink/think-template/src"
        },
        "psr-0": {
            "": "extend/"
        },
        "classmap": [
        // 我要加一个PHPExcel库,增加一个classmap,然后填写它的文件位置
        "extend/library/PHPExcel-1.8.2/Classes"
     ]
}

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!