jonathantorres / construct
PHP项目/微包生成器。
Requires
- php: ^8.0
- composer/composer: ^1.10.0
- league/container: ^2.4
- symfony/console: ^2.6 || ^3.0
- symfony/yaml: ^2.6 || ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- mockery/mockery: ^1.0
- phpstan/phpstan: ^0.12.81
- phpunit/phpunit: ^8.0
This package is not auto-updated.
Last update: 2024-09-12 14:39:10 UTC
README
为符合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
选项允许您选择测试框架。目前有以下选项可用:phpunit
、phpspec
、codeception
或behat
。phpunit
是当前默认选项。
construct generate jonathantorres/logger --test-framework=codeception
您也可以使用简写选项-t
。
construct generate jonathantorres/logger -t codeception
选择许可证
--license
选项允许您为要构建的项目选择许可证。目前有以下选项可用:MIT
、Apache-2.0
、GPL-2.0
或GPL-3.0
。MIT
是当前默认选项。
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(即 templates
和 docs
)文件。没有简写选项可用。
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-framework
、license
、php
)提供配置键,则使用其默认值。
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以获取更多详细信息。