编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

php技巧-symfony console 绘制表格和命令行提问

wxchong 2024-09-04 21:13:08 开源技术 9 ℃ 0 评论

大家好,我是yangyang.许久未见,因为一个功能暂时没有后台,临时想到在命令行简单做个,没想到symfony console 又给了我很大的惊喜,功能太丰富了.今天奉献给大家

构建Table

        // 设置表头
        $table->setHeaders(['ID', '企业名称', '状态']);
        $companyList = $this->getVipService()->searchCompanys(['status' => BizEnum::VIP_COMPANY_STATUS_WAIT], ['id' => 'DESC'],0, PHP_INT_MAX);
        foreach ($companyList as $item) {
            $table->addRow([$item['id'], $item['name'], BizEnum::getVipCompanyStatusItems($item['status'])]);
        }

        $table->render();


提示输入

        $helper = $this->getHelper('question');// class TCmd extends \Symfony\Component\Console\Command\Command;
        $question = new Question('请输入需要审核的ID: ');
        $id = $helper->ask($input, $output, $question);
        $ids = ArrayToolkit::column($companyList, 'id');
        if (!in_array($id, $ids)) {
            $output->writeln('ID不存在');
            return self::SUCCESS;
        }


提供选择项

        // 提示用户选择
        $choices = ['拒绝', '通过'];
        $choiceQuestion = new ChoiceQuestion(
            '请选择审核项 [0=拒绝, -1=通过]: ',
            $choices,
            0 // 默认选项为第一个选项 (通过)
        );

        // 让用户选择操作
        $action = $helper->ask($input, $output, $choiceQuestion);
        // 根据选择的操作执行相应逻辑
        $reason = '';
        if ($action === '通过') {

总结

希望对你有用,有缘再见

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表