首页 > 解决方案 > InvalidArgumentException:未定义标识符“user.management.active”

问题描述

我正在尝试将用户的 qr 下载到 PDF 文件中,但我收到此错误,即 user.management.active 未定义。我试图追踪它,但我无法确定问题出在哪里。有人可以帮帮我吗?

错误: [InvalidArgumentException: Identifier "user.management.active" is not defined. (uncaught exception) at /Library/WebServer/Documents/timekeeper_service/vendor/pimple/pimple/src/Pimple/Container.php line 96

这是我现在拥有的代码:

提供者

    public function register(Container $container)
{
    $container['user_management.active'] = $container->factory(function (Container $c) {
        /** @var Jade $jade */
        $jade = $c['jade_factory'];
        $jade->view = 'cms/user_management/active_users';

        /** @var UserManagementController $controller */
        $controller = new UserManagementController();
        $controller->setUserQuery(\UserQuery::create());
        $controller->setView($jade);

        return $controller;
    });

用户管理

$user_management->get('/list/download_all_qr', 'user.management.active:qrToPdf');

控制器

public function qrToPdf(Application $app)
{
    $users = $this->user_query->find();
    $user_content = array();
    foreach ($users as $user) {
        $user_content[] = [
            'name'      => sprintf('%s, %s', $user->getLastName(), $user->getFirstName()),
            'qr_code'   => base64_encode(generateQrCode($user->getEmployeeId()))
        ];
    }

    /** @var Jade $jade */
    $jade = $app['jade_factory'];
    $jade->view = 'cms/user/download_all_qr';
    $jade->with(['users' => $user_content]);

    // Export to PDF
    $mpdf = new \mPDF();
    $mpdf->WriteHTML($jade->render());
    $mpdf->Output('users_qr_'.Carbon::today()->toDateString().'.pdf', 'D');
}

标签: php

解决方案


您已将您的工厂注册为,user_management.active但随后您尝试访问user.management.active

您必须将“用户”之后的点更改为下划线或相反。

$user_management->get('/list/download_all_qr', 'user_management.active:qrToPdf');

推荐阅读