Download the PHP package jonathantorres/construct without Composer
On this page you can find all versions of the php package jonathantorres/construct. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package construct
Construct
A PHP project/micro-package generator for PDS compliant projects or micro-packages.
Installation
Construct should be installed globally through composer.
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.
The generated project structure will look like the following tree
excerpt. Files and directories in parentheses are optional.
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.
You can also use the short option -t
.
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.
You can also use the short option -l
.
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.
You can also use the short option -s
.
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.
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.
Specify Composer keywords
The optional --keywords
option will allow you to specify a comma separated list of Composer keywords.
You can also use the short option -k
.
Initialize an empty Git repo?
The --git
option will allow you to initialize an empty Git repository inside the constructed project.
You can also use the short option -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.
You can also use the short option -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.
Generate an EditorConfig configuration?
The --editor-config
option will generate an EditorConfig configuration
within the constructed project.
You can also use the short option -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.
Generate LGTM configuration files?
The --lgtm
option will generate LGTM configuration files within the constructed project. There's no short option available.
Generate common GitHub files?
The --github
option will generate common GitHub (i.e. templates
and docs
) files. There's no short option available.
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.
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.
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.
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.
You can also use the short option -c
.
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.
Running tests
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.
All versions of construct with dependencies
league/container Version ^2.4
symfony/console Version ^2.6 || ^3.0
symfony/yaml Version ^2.6 || ^3.0
composer/composer Version ^1.10.0