jonathantorres/construct
Composer 安装命令:
composer require jonathantorres/construct
包简介
PHP project/micro-package generator.
关键字:
README 文档
README
A PHP project/micro-package generator for PDS compliant projects or micro-packages.
Installation
Construct should be installed globally through composer.
composer global require jonathantorres/construct
Make sure that ~/.composer/vendor/bin is on your $PATH. This way the construct executable can be located.
Assumptions
As Construct utilizes Composer's CLI, it's assumed that Composer is installed. When using the option to initialize an empty Git repo (i.e. --git or -g) it's also assumed that Git is installed.
Usage
Just run construct generate with your vendor/package declaration and it will construct a basic PHP project into the package directory. For example, if you run construct generate jonathantorres/logger it will generate a basic project structure inside the logger folder.
construct generate jonathantorres/logger
The generated project structure will look like the following tree excerpt. Files and directories in parentheses are optional.
├── 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
│ └── ...
This is a good starting point. You can continue your work from there.
Select testing framework
The --test-framework or --test option will allow you to select a testing framework. One of the following is available at the moment: phpunit, phpspec, codeception or behat. phpunit is currently the default.
construct generate jonathantorres/logger --test-framework=codeception
You can also use the short option -t.
construct generate jonathantorres/logger -t codeception
Select license
The --license option will allow you to select a license for the project to construct. One of the following is
available at the moment: MIT, Apache-2.0, GPL-2.0 or GPL-3.0. MIT is currently the default.
construct generate jonathantorres/logger --license=Apache-2.0
You can also use the short option -l.
construct generate jonathantorres/logger -l Apache-2.0
Specify a namespace
The --namespace option will allow you to specify a namespace for the project to construct. This is totally optional. By default construct will use the package name as the namespace.
construct generate jonathantorres/logger --namespace=JonathanTorres\\Projects\\Logger
You can also use the short option -s.
construct generate jonathantorres/logger -s JonathanTorres\\Projects\\Logger
Specify a CLI framework
The optional --cli-framework option will allow you to specify a CLI framework for the project to construct, while also creating a bin directory with an initial CLI script in it, adding a bin key in the project's composer.json, and an initial AppVeyor configuration. When the option has been set without a CLI composer package the symfony/console package will be used per default. There's no short option available.
construct generate jonathantorres/logger --cli-framework=zendframework/zend-console
Specify PHP version
The --php option will allow you to specify the minimum required PHP version that your project will support. Construct will use the currently installed version if not specified.
construct generate jonathantorres/logger --php=5.6.31
Specify Composer keywords
The optional --keywords option will allow you to specify a comma separated list of Composer keywords.
construct generate jonathantorres/logger --keywords=log,logging
You can also use the short option -k.
construct generate jonathantorres/logger -k=log,logging
Initialize an empty Git repo?
The --git option will allow you to initialize an empty Git repository inside the constructed project.
construct generate jonathantorres/logger --git
You can also use the short option -g.
construct generate jonathantorres/logger -g
Generate a PHP Coding Standards Fixer configuration?
The --phpcs option will generate a PHP Coding Standards Fixer configuration within the constructed project and add a Travis CI script for validation during builds. The generated .php_cs configuration defaults to the PSR-2 coding style guide.
construct generate jonathantorres/logger --phpcs
You can also use the short option -p.
construct generate jonathantorres/logger -p
Generate a Vagrantfile?
The --vagrant option will generate a basic Vagrantfile within the constructed project, defaulting to the output of a vagrant init call plus a minimal vagrant-cachier plugin configuration. There's no short option available.
construct generate jonathantorres/logger --vagrant
Generate an EditorConfig configuration?
The --editor-config option will generate an EditorConfig configuration
within the constructed project.
construct generate jonathantorres/logger --editor-config
You can also use the short option -e.
construct generate jonathantorres/logger -e
Generate .env enviroment files?
The --env option will generate .env environment files within the constructed project for keeping sensitive information out of it. There's no short option available.
construct generate jonathantorres/logger --env
Generate LGTM configuration files?
The --lgtm option will generate LGTM configuration files within the constructed project. There's no short option available.
construct generate jonathantorres/logger --lgtm
Generate common GitHub files?
The --github option will generate common GitHub (i.e. templates and docs) files. There's no short option available.
construct generate jonathantorres/logger --github
Generate GitHub template files?
The --github-templates option will generate GitHub template files within the constructed project into a folder conventionally named .github. It also will move CONTRIBUTING.md into it. There's no short option available, but the option is implicated with the github option.
construct generate jonathantorres/logger --github-templates
Generate GitHub documentation files?
The --github-docs option will generate GitHub documentation files within the constructed project into a folder conventionally named docs. There's no short option available, but the option is implicated with the github option.
construct generate jonathantorres/logger --github-docs
Generate a Code of Conduct?
The --code-of-conduct option will generate a Code of Conduct file named CONDUCT.md within the constructed project and also add a reference to it in the generated README.md. The used Code of Conduct is adapted from the Contributor Covenant, version 1.4. There's no short option available.
construct generate jonathantorres/logger --code-of-conduct
Use a configuration for recurring settings
The --config option allows the usage of a configuration file in the YAML format. There are two ways to provide such a configuration file: One is to provide a specific file as an option argument, the other is to put a .construct configuration file in the home directory of your system. For the structure of a configuration file have a look at the .construct example file. When no configuration keys are provided for settings having a default value (i.e. test-framework, license, php) their default value is used.
construct generate jonathantorres/logger --config /path/to/config.yml
You can also use the short option -c.
construct generate jonathantorres/logger -c /path/to/config.yml
When there's a .construct configuration file in your home directory it will be used per default. If required it's possible to disable the usage via the --ignore-default-config option or the equivalent short option -i.
Interactive Mode
This mode will ask you all the required (and optional) information to generate your project.
construct generate:interactive
Running tests
composer construct:test
License
This library is licensed under the MIT license. Please see LICENSE for more details.
Changelog
Please see CHANGELOG for more details.
Contributing
Please see CONTRIBUTING for more details.
jonathantorres/construct 适用场景与选型建议
jonathantorres/construct 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 448 次下载、GitHub Stars 达 265, 最近一次更新时间为 2015 年 04 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「package」 「php」 「cli」 「project」 「structure」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jonathantorres/construct 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jonathantorres/construct 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jonathantorres/construct 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Simple ASCII output of array data
Slim starter / Slim skeleton package to boost your development with Slim framework
Generates a trait to help ease the access of custom repo methods
Alfabank REST API integration
Eco CLI for Laravel .env syncing
统计信息
- 总下载量: 448
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 267
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-04-25