首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建一个库供作曲家自动加载使用?

如何创建一个库供作曲家自动加载使用?
EN

Stack Overflow用户
提问于 2014-01-15 12:07:10
回答 1查看 5K关注 0票数 6

我想让这个包裹成为作曲家的自动作曲。

此软件包可在帕卡吉斯特上使用。

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

唯一需要自动加载的类是Webbot.php

有人能给我一步一步的分解来完成这个任务吗?

谷歌返回的搜索结果是对autoload库的说明。

我需要关于如何编写自变量库的说明。

EN

回答 1

Stack Overflow用户

发布于 2014-01-15 12:35:19

首先,您需要在PSR-0或PSR-4中构造您的包。我还没有开始使用PSR-4,因为它只是刚刚被接受为一个标准。作曲家将在很长一段时间内仍然支持PSR-0。

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

  • 完全限定的命名空间和类必须具有以下结构<Vendor Name>\(<Namespace>\)*<Class Name>
  • 每个名称空间必须有一个顶级名称空间(“供应商名称”)。
  • 每个名称空间都可以有任意多个子名称空间。
  • 从文件系统加载时,每个命名空间分隔符都转换为DIRECTORY_SEPARATOR。
  • 类名中的每个字符都转换为一个DIRECTORY_SEPARATOR。_字符在命名空间中没有特殊意义。
  • 从文件系统加载时,完全限定的命名空间和类以.php作为后缀。
  • 供应商名称、名称空间和类名中的字母字符可以是小写和大写的任意组合。

完整的FIG指南在这里

这意味着您的包应该放在github存储库中,如下所示:

代码语言:javascript
复制
-src
    -Simkimsia
        -Webbot
            -Webbot.php
-composer.json
-license.md
-{any other base level files}

Webbot.php将位于名称空间:目录结构指定的名称空间:Simkimsia\Webbot中。

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

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

该软件包可从Composers获得,并可实例化为:

代码语言:javascript
复制
$webbot = new Simkimsia\Webbot\Webbot();

注意:一旦运行了composer install Composers autoload.php就可以使用了

代码语言:javascript
复制
/vendor/composer/autoload.php

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

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21137019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档