Download the PHP package decodelabs/commandment without Composer
On this page you can find all versions of the php package decodelabs/commandment. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package commandment
Commandment
Console command interface
Commandment provides a unified system for building and dispatching console actions, mirroring the dispatcher and middleware stack of Harvest.
Installation
Install via Composer:
Usage
Build your Action to interact with the command line. The Request
object provides the raw console arguments and the means to parse them in a structured way.
Use Argument
attributes on your Action class to define the arguments you want to accept.
Constructor arguments are automatically injected into your Action class - import the Terminus Session
to write to the output stream to keep your Actions portable.
Dispatching
To run your Action, create a Dispatcher
and a Request
object, then call the dispatch()
method:
If you want to provide extra objects for dependency injection, you can add them to the Slingshot
instance, either on the Dispatcher
or on the Request
object:
You can then reference these types in your Action constructor:
Middleware
Commandment supports simple middleware which can be used to modify the request before the Action is executed.
It doesn't need to handle the $next
middleware like traditional middleware as the CLI context doesn't require traditional response handling. Instead, just return a modified Request
object.
Add the middleware to the dispatcher before dispatching:
Licensing
Commandment is licensed under the MIT License. See LICENSE for the full license text.
All versions of commandment with dependencies
decodelabs/archetype Version ^0.3.10
decodelabs/coercion Version ^0.3.3
decodelabs/exceptional Version ^0.6.1
decodelabs/nuance Version ^0.1.2
decodelabs/slingshot Version ^0.2.1