如何创建供作曲家自动加载使用的库



我想让Composer自动加载这个包。

此包可在Packagist 上获得

我意识到我需要给composer.json添加一些东西,我需要在某个地方有一个autoload.php

唯一应该自动加载的类是Webbot.php

有人能给我一步一步的分解来完成这件事吗?

返回的谷歌搜索结果是自动加载库的说明。

我需要关于如何编写可自动加载库的说明。

首先,您需要将包结构化为PSR-0或PSR-4。我还没有开始使用PSR-4,因为它刚刚被接受为标准。Composer在未来很长一段时间内仍将支持PSR-0。

这意味着您必须遵守以下规则:

  • 完全限定的命名空间和类必须具有以下内容结构<Vendor Name>(<Namespace>)*<Class Name>
  • 每个命名空间都必须有一个顶级命名空间("供应商名称")
  • 每个名称空间可以有任意数量的子名称空间
  • 当从文件系统加载
  • CLASS NAME中的每个_字符都转换为DIRECTORY_SEPARATOR。_字符在命名空间
  • 当从文件系统加载
  • 供应商名称、命名空间和类名中的字母字符可以是小写和大写的任意组合

此处为完整的FIG指南

这意味着你的包应该按照如下方式放在github存储库中:

-src
-Simkimsia
-Webbot
-Webbot.php
-composer.json
-license.md
-{any other base level files}

Webbot.php将位于目录结构指示的名称空间:SimkimsiaWebbot中。

然后。。。由于这是一个github包,您可以使用存储库属性将其添加到您的项目composer.json中。

{
"name" : 'test',
"description" : 'Test',
"keywords" : ['test'],
"repositories" : [
{
"type": "vcs",
"url": "https://github.com/simkimsia/webbot.git"
}
],
"require" : {
"simkimsia/webbot" : "dev-master"
}
}

该包将可从Composers自动加载中获得,并且可以实例化为:

$webbot = new SimkimsiaWebbotWebbot();

注意:运行composer install:后,Composers autoload.php将在中可用

/vendor/composer/autoload.php

只要在PHP脚本的开头包含这个文件,您的类就可以使用了。

相关内容

  • 没有找到相关文章

最新更新