ramsey/php-library-starter-kit

这是一个用于快速搭建新PHP库包的入门套件。

资助包维护!
ramsey

安装次数: 848

依赖者: 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 目录,保留其他所有内容并提交初始提交。

使用现有的答案文件

当在问题提示过程中退出程序时,您可能会注意到在项目目录中创建了一个 .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 获取更多信息。