测试我自己的作曲家包不起作用

时间:2014-12-16 13:06:22

标签: php composer-php

我想制作一个作曲家包。但是,我仍然处于开发阶段,会不会或早于测试。

我有一个空的vendor文件夹,其中包含来自composer的自动加载器:

/vendor
  /composer
autoload.php

所以现在我尝试了我的软件包“simulate”并创建了我的文件夹结构和composer.json:

/vendor
  /composer

  /me
    /package
      /src
      /tests
      composer.json

autoload.php

这是我的composer.json:

{
   "name": "me/package",
   "description": "",
   "license": "",
   "authors": [
    {
      "name": "",
      "email": ""
    }
   ],
   "minimum-stability": "dev",
   "require": {
     "php": ">=5.4.0"
   },
  "autoload": {
   "psr-4": {
     "Me\\Package\\": "src/"
   }
 }
}

这是我的班级:

namespace Me\Package;

class Test {
  // ...
}

如果我想打电话:

if(file_exists('vendor/autoload.php')) require 'vendor/autoload.php';

$test = new \Me\Package\Test();

我成为Fatal error: Class 'Me\Package\Test' not found

当然,我也在根目录中插入了一个composer.json,但是由于它没有发布,我在require我的包状态仍然不好,对吧?但是我如何测试然后对作曲家说他应该自动加载我的包?

1 个答案:

答案 0 :(得分:1)

如果要使用composer包含未在http://Packagist.org/上列出的包,则应在composer.json(项目根文件)中添加“repositories”节。这将读取项目,并使用main-'requires'部分的名称从中获取composer.json。

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/example/private-repo.git"
    }
}

'url'部分,实际上也可以是git,SVN或HG存储库的任何有效URL - 甚至是基于file://的引用。