ramsey/php-library-skeleton

此软件包已被弃用且不再维护。作者建议使用 ramsey/php-library-starter-kit 软件包。

快速设置新 PHP 库软件包的启动工具包。

资助软件包维护!
ramsey

安装: 344

依赖项: 0

建议者: 0

安全: 0

星标: 243

关注者: 8

分支: 25

开放问题: 4

类型:项目

3.5.4 2023-10-31 02:20 UTC

README

快速设置新 PHP 库软件包的启动工具包。

Source Code Download Package PHP Programming Language Read License Build Status Codecov Code Coverage Psalm Type Coverage

关于

ramsey/php-library-starter-kit 是一个可用于生成基本 PHP 库项目目录结构的软件包,包括许多在 PHP 库中常见的起始文件(例如 README、LICENSE、GitHub 问题模板、PHPUnit 配置等)。您可以创建的项目目录作为创建自己的 PHP 库的起点。

本项目遵守 行为准则。通过参与此项目和其社区,您应遵守此准则。

使用方法

composer create-project ramsey/php-library-starter-kit YOUR-PROJECT-NAME

运行此命令将在包含与该存储库相同文件和结构的新的存储库中创建一个新存储库。之后,它将运行 Ramsey\Dev\LibraryStarterKit\Wizard::start() 方法来设置项目,它将引导您回答一系列问题并根据您的回答更改文件。完成后,它将删除 ./src/LibraryStarterKit./tests/LibraryStarterKit 目录,并将其他所有内容保留在初始提交中。

使用现有的答案文件

在执行 create-project 时,如果在问题提示的中间退出程序,您可能会注意到它会在项目目录中创建一个 .starter-kit-answers 文件。当您稍后返回并运行 composer starter-kit 时,它将使用此文件预先填充您已回答的任何问题。完成后,启动工具包将删除此文件。

您还可以使用现有的答案文件来提供所有问题的答案,包括跳过问题提示。为此,请设置一个包含答案文件路径的环境变量

STARTER_KIT_ANSWERS_FILE=/path/to/starter-kit-answers.json

要跳过问题提示,请确保在答案文件中包含 skipPrompts 属性,并将其设置为 true

答案文件是一个 JSON 对象,由 Ramsey\Dev\LibraryStarterKit\Answers 中找到的所有公共属性组成。

例如

{
    "authorEmail": "author@example.com",
    "authorHoldsCopyright": true,
    "authorName": "Author Smith",
    "authorUrl": "https://example.com/",
    "codeOfConduct": "Contributor-2.0",
    "codeOfConductCommittee": null,
    "codeOfConductEmail": "conduct@example.com",
    "codeOfConductPoliciesUrl": null,
    "codeOfConductReportingUrl": null,
    "copyrightEmail": "author@example.com",
    "copyrightHolder": "Acme, Inc.",
    "copyrightUrl": "https://example.com/acme",
    "copyrightYear": "2021",
    "githubUsername": "example",
    "license": "MIT",
    "packageDescription": "An awesome library that does stuff.",
    "packageKeywords": [
        "awesome",
        "stuff"
    ],
    "packageName": "acme/awesome",
    "packageNamespace": "Acme\\Awesome",
    "projectName": "My Awesome Library",
    "securityPolicy": true,
    "securityPolicyContactEmail": "security@example.com",
    "securityPolicyContactFormUrl": null,
    "skipPrompts": true,
    "vendorName": "acme"
}

贡献

欢迎贡献!要贡献,请熟悉 CONTRIBUTING.md

协调披露

确保用户信息安全和保密是首要任务,我们欢迎外部安全研究人员的贡献。如果您认为您在此存储库维护的软件中发现了一个安全漏洞,请阅读 SECURITY.md 以获取提交漏洞报告的说明。

常见问题解答

为什么包括包/工具 x 而不是 y

我创建了这个项目启动工具包是为了自己的用途,这是我自己在 PHP 库中使用的常见文件、包和工具。如果您喜欢您看到的内容,请随时使用它。如果您喜欢其中的一些内容但不全是,请将其分支并自定义以适应您的需求。我希望您会认为它很有帮助!

版权和许可

ramsey/php-library-starter-kit 版权所有 © Ben Ramsey,并按照 MIT 许可证(MIT)的条款使用。有关更多信息,请参阅 LICENSE