|
1 | 1 | #!/usr/bin/env php |
2 | 2 | <?php |
3 | 3 |
|
4 | | -use Symfony\Component\Console\Application; |
5 | | - |
6 | 4 | require_once(__DIR__ . "/../vendor/autoload.php"); |
7 | 5 |
|
| 6 | +use ObjectStorage\Command\DecryptCommand; |
| 7 | +use ObjectStorage\Command\DeleteCommand; |
| 8 | +use ObjectStorage\Command\DownloadCommand; |
| 9 | +use ObjectStorage\Command\EncryptCommand; |
| 10 | +use ObjectStorage\Command\GenerateKeyCommand; |
| 11 | +use ObjectStorage\Command\ListCommand; |
| 12 | +use ObjectStorage\Command\UploadCommand; |
| 13 | +use Symfony\Component\Console\Application; |
| 14 | +use Symfony\Component\Console\CommandLoader\FactoryCommandLoader; |
| 15 | + |
8 | 16 | $application = new Application('ObjectStorage CLI utility', '1.0.0'); |
9 | 17 | $application->setCatchExceptions(true); |
10 | | -$application->add(new \ObjectStorage\Command\UploadCommand()); |
11 | | -$application->add(new \ObjectStorage\Command\DownloadCommand()); |
12 | | -$application->add(new \ObjectStorage\Command\ListCommand()); |
13 | | -$application->add(new \ObjectStorage\Command\DeleteCommand()); |
14 | | -$application->add(new \ObjectStorage\Command\GenerateKeyCommand()); |
15 | | -$application->add(new \ObjectStorage\Command\EncryptCommand()); |
16 | | -$application->add(new \ObjectStorage\Command\DecryptCommand()); |
| 18 | +$application->setCommandLoader(new FactoryCommandLoader([ |
| 19 | + 'objectstorage:upload' => function () { return new UploadCommand(); }, |
| 20 | + 'objectstorage:download' => function () { return new DownloadCommand(); }, |
| 21 | + 'objectstorage:list' => function () { return new ListCommand(); }, |
| 22 | + 'objectstorage:delete' => function () { return new DeleteCommand(); }, |
| 23 | + 'objectstorage:generatekey' => function () { return new GenerateKeyCommand(); }, |
| 24 | + 'objectstorage:encrypt' => function () { return new EncryptCommand(); }, |
| 25 | + 'objectstorage:decrypt' => function () { return new DecryptCommand(); }, |
| 26 | +])); |
17 | 27 | $application->run(); |
0 commit comments