编写器自动加载供应商类



我在Packagist上有2个包。

https://packagist.org/packages/erayalakese/envato-market-api(一个)https://packagist.org/packages/erayalakese/envato-update-checker (B)

B要求a。

现在我在我的项目中使用B包。但是我得到类'erayalakeseEnvato_Update_Checker'(包B)没有找到错误。

这是我的作曲家。json文件

{
    "name": "",
    "description": "",
    "require": {
        "erayalakese/envato-update-checker": "^1.3"
    },
    "authors": ...
}

和我的项目文件:

<?php
require_once(__DIR__.'/vendor/autoload.php');
new erayalakeseEnvato_Update_Checker(...);

当我添加到我的作曲家。Json作为临时解决方案,它正在工作:

"autoload": {
    "classmap": ["vendor/"]
}

但是我不确定我是否真的需要将供应商文件夹添加到自动加载。我希望它能自动加载我的供应商。

你能告诉我我错过了什么吗?

您必须更改两个软件包的composer.json

两个包都需要定义一个autoload节。

引用:https://getcomposer.org/doc/04-schema.md classmap


erayalakese/envato-market-api

https://github.com/erayalakese/envato-market-api/blob/master/composer.json

{
    "name": "erayalakese/envato-market-api",
    "description": "Envato Market API to verify and download Envato purchases",
    "authors": [
        {
            "name": "Eray Alakese",
            "email": "erayalakese@gmail.com"
        }
    ],
    "require": {},
    "license": "GPL v2",
    "autoload": {
        "classmap": ["Envato_Market_API.php"]
    }
}

现在这个包有一个自动加载的类映射定义,它由一个PHP文件组成。当您使用composer install时,包的自动加载定义将被添加到Composer自动加载器中。

其他包相同的游戏:

erayalakese/envato-update-checker https://github.com/erayalakese/envato-update-checker/blob/master/composer.json

{
    "name": "erayalakese/envato-update-checker",
    "description": "Checks Envato WordPress plugins' updates and download its if any update available",
    "require": {
        "erayalakese/envato-market-api": "^1.0"
    },
    "authors": [
        {
            "name": "Eray Alakese",
            "email": "erayalakese@gmail.com"
        }
    ],
    "license": "GPL v2",
    "autoload": {
        "classmap": ["Envato_Update_Checker.php"]
    }
}

在你的主项目中:

  • 要求在主项目的composer.json中安装"update"包
      更新包包括api包通过它的要求部分(所以你得到两个)
  • 添加require_once(__DIR__ . '/vendor/autoload.php');到项目引导
  • 通过作曲家自动加载器欣赏课程:new erayalakeseEnvato_Update_Checker(...);

  • 删除这一行:

    https://github.com/erayalakese/envato-update-checker/blob/master/Envato_Update_Checker.php不断化解

    相关内容

    • 没有找到相关文章

    最新更新