chiron / php-library-starter-kit
快速搭建新PHP库包的启动套件。
Requires
- php: ^8.0 || ^8.1
- ext-json: *
- mockery/mockery: ^1.4.4
- symfony/console: ^5.2.4
- symfony/filesystem: ^5.1
- symfony/finder: ^5.3.7
- symfony/process: ^5.3.7
- twig/twig: ^3.3.3
Requires (Dev)
Suggests
- ext-pcntl: Provides the ability to quit and resume the starter kit wizard on POSIX systems
This package is auto-updated.
Last update: 2024-08-30 01:23:39 UTC
README
快速搭建新PHP库包的启动套件。
关于
ramsey/php-library-starter-kit是一个包,可用于生成基本的PHP库项目目录结构,包括许多常见的起始文件(例如README、LICENSE、GitHub问题模板、PHPUnit配置等),这些文件通常在PHP库中找到。您可以使用创建的项目目录作为创建自己的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。