chubbyphp / chubbyphp-lazy-command
Chubbyphp Lazy Command
Installs: 8 265
Dependents: 1
Suggesters: 1
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^7.2
- psr/container: ^1.0
- symfony/console: ^3.4.43|^4.4.11|^5.0
Requires (Dev)
- chubbyphp/chubbyphp-dev-helper: dev-master
- chubbyphp/chubbyphp-mock: ^1.4.5
- infection/infection: ^0.15.3|^0.16.4
- laminas/laminas-container-config-test: ^0.2 || ^1.0
- mavimo/phpstan-junit: ^0.3
- php-coveralls/php-coveralls: ^2.2
- phploc/phploc: ^5.0|^6.0.2
- phpstan/extension-installer: ^1.0.4
- phpstan/phpstan: ^0.12.33
- phpunit/phpunit: ^8.5.8|^9.2.6
README
Description
Allow to lazyload commands.
Requirements
- php: ^7.2
- psr/container: ^1.0
- symfony/console: ^3.4.43|^4.4.11|^5.0
Installation
Through Composer as chubbyphp/chubbyphp-lazy-command.
composer require chubbyphp/chubbyphp-lazy-command "^1.4"
Usage
For callables
<?php use Chubbyphp\Lazy\LazyCommand; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Output\OutputInterface; $container['service'] = function () { return function (InputInterface $input, OutputInterface $output) { // run some lazy logic }; }; $command = new LazyCommand( $container, 'service', 'name', [ new InputArgument('argument'), ], 'description', 'help' ); $command->run();
For existing commands extending Command
<?php use Chubbyphp\Lazy\CommandAdapter; use Chubbyphp\Lazy\LazyCommand; use Symfony\Component\Console\Input\InputArgument; $container['service'] = function () { return new CommandAdapter(new ExistingCommand()); }; $command = new LazyCommand( $container, 'service', 'name', [ new InputArgument('argument'), ], 'description', 'help' ); $command->run();
Copyright
Dominik Zogg 2020