jonathantorres/construct

PHP项目/微包生成器。

v3.0.0 2023-01-22 01:19 UTC

README

Build Status Build Status Version PDS Skeleton

为符合PDS规范的项目或微包创建的PHP项目/微包生成器。

安装

Construct应通过composer全局安装。

composer global require jonathantorres/construct

确保~/.composer/vendor/bin在您的$PATH中。这样,construct可执行文件就可以被找到。

假设

由于Construct使用Composer的CLI,因此假设Composer已安装。当使用初始化空Git仓库的选项(即--git-g)时,也假设Git已安装。

使用方法

只需运行construct generate,并带上您的vendor/package声明,它就会在package目录中构建一个基本的PHP项目。例如,如果您运行construct generate jonathantorres/logger,它将在logger文件夹内生成一个基本的项目结构。

construct generate jonathantorres/logger

生成的项目结构将如下所示tree摘录。括号中的文件和目录是可选的。

├── logger
│   ├── CHANGELOG.md
│   ├── (CONDUCT.md)
│   ├── composer.json
│   ├── composer.lock
│   ├── CONTRIBUTING.md
│   ├── (.appveyor.yml)
│   ├── (.editorconfig)
│   ├── (.env)
│   ├── (.env.example)
│   ├── (.git)
│   │   └── ...
│   ├── .gitattributes
│   ├── (.github)
│   │   ├── CONTRIBUTING.md
│   │   ├── ISSUE_TEMPLATE.md
│   │   └── PULL_REQUEST_TEMPLATE.md
│   ├── .gitignore
│   ├── .gitmessage
│   ├── (.lgtm)
│   ├── (bin)
│   │   └── cli-script
│   ├── LICENSE.md
│   ├── (MAINTAINERS)
│   ├── (.php_cs)
│   ├── (phpunit.xml.dist)
│   ├── README.md
│   ├── (docs)
│   │   └── index.md
│   ├── src
│   │   └── Logger.php
│   ├── tests
│   │   └── LoggerTest.php
│   ├── .travis.yml
│   ├── (Vagrantfile)
│   └── vendor
│           └── ...

这是一个很好的起点。您可以从那里继续工作。

选择测试框架

--test-framework--test选项允许您选择测试框架。目前有以下选项可用:phpunitphpspeccodeceptionbehatphpunit是当前默认选项。

construct generate jonathantorres/logger --test-framework=codeception

您也可以使用简写选项-t

construct generate jonathantorres/logger -t codeception

选择许可证

--license选项允许您为要构建的项目选择许可证。目前有以下选项可用:MITApache-2.0GPL-2.0GPL-3.0MIT是当前默认选项。

construct generate jonathantorres/logger --license=Apache-2.0

您也可以使用简写选项-l

construct generate jonathantorres/logger -l Apache-2.0

指定命名空间

--namespace选项允许您为要构建的项目指定命名空间。这是完全可选的。默认情况下,construct将使用包名作为命名空间。

construct generate jonathantorres/logger --namespace=JonathanTorres\\Projects\\Logger

您也可以使用简写选项-s

construct generate jonathantorres/logger -s JonathanTorres\\Projects\\Logger

指定CLI框架

可选的--cli-framework选项允许您为要构建的项目指定CLI框架,同时创建一个包含初始CLI脚本的bin目录,在项目的composer.json中添加bin键,并添加一个初始的AppVeyor配置。如果没有设置CLI composer包,将默认使用symfony/console包。没有可用的简写选项。

construct generate jonathantorres/logger --cli-framework=zendframework/zend-console

指定PHP版本

--php选项允许您指定项目将支持的最小PHP版本。如果没有指定,Construct将使用当前安装的版本。

construct generate jonathantorres/logger --php=5.6.31

指定Composer关键词

可选的--keywords选项允许您指定以逗号分隔的Composer关键词列表。

construct generate jonathantorres/logger --keywords=log,logging

您也可以使用简写选项-k

construct generate jonathantorres/logger -k=log,logging

初始化一个空的Git仓库吗?

--git选项允许您在构建的项目内初始化一个空的Git仓库。

construct generate jonathantorres/logger --git

您也可以使用简写选项-g

construct generate jonathantorres/logger -g

生成PHP编码规范修复器配置吗?

--phpcs 选项会在构建的项目中生成 PHP Coding Standards Fixer 配置,并添加一个用于构建过程中的验证的 Travis CI 脚本。生成的 .php_cs 配置默认为 PSR-2 编码风格指南。

construct generate jonathantorres/logger --phpcs

您还可以使用简写选项 -p

construct generate jonathantorres/logger -p

生成 Vagrantfile 吗?

--vagrant 选项将在构建的项目中生成基本的 Vagrantfile,默认输出与 vagrant init 调用相同,并包含一个最小的 vagrant-cachier 插件配置。没有简写选项可用。

construct generate jonathantorres/logger --vagrant

生成 EditorConfig 配置吗?

--editor-config 选项将在构建的项目中生成 EditorConfig 配置。

construct generate jonathantorres/logger --editor-config

您还可以使用简写选项 -e

construct generate jonathantorres/logger -e

生成 .env 环境文件吗?

--env 选项将在构建的项目中生成 .env 环境文件,用于将 敏感 信息排除在外。没有简写选项可用。

construct generate jonathantorres/logger --env

生成 LGTM 配置文件吗?

--lgtm 选项将在构建的项目中生成 LGTM 配置文件。没有简写选项可用。

construct generate jonathantorres/logger --lgtm

生成常见的 GitHub 文件吗?

--github 选项将生成常见的 GitHub(即 templatesdocs)文件。没有简写选项可用。

construct generate jonathantorres/logger --github

生成 GitHub 模板文件吗?

--github-templates 选项将在构建的项目中生成 GitHub 模板 文件,存放在名为 .github 的目录中。它还会将 CONTRIBUTING.md 移动到该目录中。没有简写选项可用,但此选项与 github 选项相关。

construct generate jonathantorres/logger --github-templates

生成 GitHub 文档文件吗?

--github-docs 选项将在构建的项目中生成 GitHub 文档 文件,存放在名为 docs 的目录中。没有简写选项可用,但此选项与 github 选项相关。

construct generate jonathantorres/logger --github-docs

生成行为准则吗?

--code-of-conduct 选项将在构建的项目中生成名为 CONDUCT.md 的行为准则文件,并在生成的 README.md 中添加对其的引用。所使用的准则来自 Contributor Covenant,版本 1.4。没有简写选项可用。

construct generate jonathantorres/logger --code-of-conduct

使用循环设置的配置

--config 选项允许使用 YAML 格式的配置文件。提供此类配置文件有两种方式:一种是提供一个特定的文件作为选项参数,另一种是将一个 .construct 配置文件放在系统的家目录中。有关配置文件的结构,请参阅 .construct 示例文件。如果没有为具有默认值的设置(即 test-frameworklicensephp)提供配置键,则使用其默认值。

construct generate jonathantorres/logger --config /path/to/config.yml

您还可以使用简写选项 -c

construct generate jonathantorres/logger -c /path/to/config.yml

如果您的家目录中存在 .construct 配置文件,它将默认使用。如果需要,可以通过 --ignore-default-config 选项或等效的简写选项 -i 禁用其使用。

交互模式

此模式将询问您生成项目所需的所有(和可选的)信息。

construct generate:interactive

运行测试

composer construct:test

许可证

本库采用MIT许可。请参阅LICENSE以获取更多详细信息。

变更日志

请参阅CHANGELOG以获取更多详细信息。

贡献

请参阅CONTRIBUTING以获取更多详细信息。