addArgument('module-name', InputArgument::REQUIRED); $this->setDescription('将配置好的模块构建一个phar包'); $this->setHelp('此功能将会把炸毛框架的模块打包为".phar",供发布和执行。'); $this->addOption('target', 'D', InputOption::VALUE_REQUIRED, 'Output Directory | 指定输出目录'); } /** * @throws ZMException */ protected function execute(InputInterface $input, OutputInterface $output): int { parent::execute($input, $output); $list = ModuleManager::getConfiguredModules(); if (!isset($list[$input->getArgument('module-name')])) { $output->writeln('不存在模块 ' . $input->getArgument('module-name') . ' !'); return 1; } $result = ModuleManager::packModule($list[$input->getArgument('module-name')], $input->getOption('target') ?? (DataProvider::getDataFolder() . '/output')); if ($result) { Console::success('打包完成!'); } else { Console::error('打包失败!'); } return 0; } }