friendsofhyperf / closure-command
The closure command component for Hyperf.
v3.0.2
2023-01-06 14:32 UTC
Requires
- hyperf/command: ~3.0.0
- hyperf/di: ~3.0.0
- hyperf/event: ~3.0.0
- hyperf/utils: ~3.0.0
- 3.x-dev
- v3.0.2
- v3.0.0
- v3.0.0-rc.30
- v3.0.0-rc.16
- v3.0.0-rc.9
- v3.0.0-rc.7
- v3.0.0-rc.6
- v3.0.0-rc.5
- v3.0.0-rc.4
- v3.0.0-rc.2
- v3.0.0-beta39
- v3.0.0-beta35
- v3.0.0-beta34
- v3.0.0-beta33
- v3.0.0-beta32
- v3.0.0-beta31
- v3.0.0-beta30
- v3.0.0-beta29
- v3.0.0-beta28
- v3.0.0-beta27
- v3.0.0-beta26
- v3.0.0-beta25
- v3.0.0-beta24
- v3.0.0-beta23
- v3.0.0-beta22
- v3.0.0-beta21
- v3.0.0-beta20
- v3.0.0-beta19
- v3.0.0-beta18
- v3.0.0-beta17
- v3.0.0-beta16
- v3.0.0-beta15
- v3.0.0-beta14
- v3.0.0-beta13
- v3.0.0-beta12
- v3.0.0-beta11
- v3.0.0-beta10
- v3.0.0-beta9
- v3.0.0-beta8
- v3.0.0-beta7
- v3.0.0-beta6
- v3.0.0-beta5
- v3.0.0-beta4
- v3.0.0-beta3
- v3.0.0-beta2
- v3.0.0-beta1
- 2.x-dev / 2.0.x-dev
- v2.0.28
- v2.0.25
- v2.0.24
- v2.0.22
- v2.0.15
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v2.0.0-beta3
- v2.0.0-beta2
- v2.0.0-beta1
- dev-HEAD
This package is auto-updated.
Last update: 2023-02-07 00:21:28 UTC
README
The closure command component for Hyperf.
Installation
composer require friendsofhyperf/closure-command
Publish
php bin/hyperf.php vendor:publish friendsofhyperf/closure-command
Usage
- Define ClosureCommand
// config/console.php use FriendsOfHyperf\ClosureCommand\Console; use FriendsOfHyperf\ClosureCommand\Inspiring; Console::command('inspire', function () { $this->comment(Inspiring::quote()); })->describe('Display an inspiring quote'); Console::command('foo:bar', function() { $this->info('Command foo:bar executed.'); })->describe('Description of command foo::bar');
- Define AnnotationCommand
<?php namespace App\Service; use FriendsOfHyperf\ClosureCommand\Annotation\Command; use FriendsOfHyperf\ClosureCommand\Output; use Hyperf\Di\Annotation\Inject; #[Command(signature: 'foo:bar1', handle: 'bar1', description: 'The description of foo:bar1 command.')] #[Command(signature: 'foo', description: 'The description of foo command.')] class FooService { #[Inject()] protected Output $output; #[Command(signature: 'foo:bar {--bar=1 : Bar Value}', description: 'The description of foo:bar command.')] public function bar($bar) { $this->output->info('Bar Value: ' . $bar); return $bar; } public function bar1() { $this->output->info(__METHOD__); } public function handle() { $this->output->info(__METHOD__); } }
Run php bin/hyperf.php
foo foo:bar The description of foo:bar command. foo:bar1 The description of foo:bar1 command.