Download the PHP package elbakerino/console without Composer
On this page you can find all versions of the php package elbakerino/console. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download elbakerino/console
More information about elbakerino/console
Files in elbakerino/console
Package console
Short Description PHP Console with DI and Annotations, based on GetOpt.php
License MIT
Informations about the package console
PHP Console with DI and Annotations
Build PHP Console applications with Dependency Injection and Annotations.
Setup app skeleton and install dependencies with composer:
composer create-project elbakerino/console
That's it - ready to code!
Run demo commands:
# get help
php cli -h
# how to access operands, see `Commands\Demo->handle`
php cli demo
php cli demo World
php cli demo:welcome
php cli demo:bye
For Docker, download repository and spin up services:
git clone https://github.com/elbakerino/console-di-annotations.git
docker-compose up
# open second terminal:
# open `bash` in docker service `app` with user `www-data`
docker-compose exec -u www-data app bash
composer install
Command Setup
At GetOpt-PHP commands are registered with inline documentation.
Here also the commands are registered for found annotations.
For only manual command, it's as short as:
You can register commands with annotations, like the demo commands (todo: annotation command docs).
See Commands\Demo for a demo class
command handler, any callable
/resolvable
is possible as command handler.
See Commands\DemoMultiple for a demo class
command handler which uses annotations at method level, not class level.
Schematic use of defined commands:
php cli <name> <..operand> <..-a=opt>
More Details
In launch.php the whole setup and auto-config is done, see inline-comments for details.
In _definitions.php you can define/overwrite service definitions for PHP-DI.
See Lib\ConsoleApp for the execution of GetOpt, use as base to switch to another console framework.
See Annotations for example annotations, further docs on annotation will follow / can be found below in the libraries links.
Configure Docker in docker-vhost.conf a rebuild is needed.
For further details see:
- GetOpt-PHP Commands
- PHP-DI
- Orbiter\AnnotationsUtil
- uses Doctrine\Annotations
- doctrine setup helper utility
- with cached reflections
- with caching static code analyzer for e.g. getting class names by directory (needed for auto-config)
Install any other dependency for your project from packagist.
Todos
There is not really more needed, you can write simple and efficient console apps.
Some nice to haves would be:
- [ ] print line, print success, print error helper functions
- [ ] print in color helper functions
- [ ] input handling helper functions
- [ ] some middleware pipelines around commands
- [ ] time and performance middleware
- [ ] logging with PSR logger (monolog) by default
Downloads
- See Composer Package.
- Repository
git clone https://github.com/elbakerino/console-di-annotations.git
License
This project is free software distributed under the MIT License.
See: LICENSE.
Contributors
By committing your code to the code repository you agree to release the code under the MIT License attached to the repository.
Author: Michael Becker
All versions of console with dependencies
psr/container Version ^1.0
php-di/php-di Version ^6.0.0
orbiter/annotations-util Version 0.2.x
ulrichsg/getopt-php Version ^3.2.2
vlucas/phpdotenv Version ^3.6