【问题标题】:PHPUnit Error: Undefined constant while constant does existPHPUnit错误:未定义的常量,而常量确实存在
【发布时间】:2022-01-22 04:16:58
【问题描述】:

我正在使用 PHP Unit 9.5,我正在调用我的类:(new Resolvers())();

但这会导致以下错误:Error: Undefined constant 'Cryptoactive\User\USER_REPOSITORY'。该常量确实存在于引用类中。

解析器.php

use ...\Container;
use const ...\User\USER_REPOSITORY;

class Resolvers
{
    private UserRepository $users;

    public function __invoke(): array
    {
        $this->users = Container\get(USER_REPOSITORY);

        return [
            'Query' => [
                'user' => fn (?array $root, $args) => (new UserQuery($this->users, new FindOne($args['id'])))(),
                'users' => new UserQuery($this->users, new FindAll())
            ],
            'Mutation' => [
                'saveUser' => new UserSave($this->users)
            ],
            'Subscription' => [
                'events' => []
            ]
        ];
    }
}

【问题讨论】:

    标签: phpunit


    【解决方案1】:

    您不能“导入”或“使用”像 use const ...\User\USER_REPOSITORY; 这样的不是有效语法的常量...

    你必须这样做:

    use ...\User;
    
    class Resolvers
    {
        private UserRepository $users;
    
        public function __invoke(): array
        {
            $this->users = Container\get(User::USER_REPOSITORY);
    
            return [
                'Query' => [
                    'user' => fn (?array $root, $args) => (new UserQuery($this->users, new FindOne($args['id'])))(),
                    'users' => new UserQuery($this->users, new FindAll())
                ],
                'Mutation' => [
                    'saveUser' => new UserSave($this->users)
                ],
                'Subscription' => [
                    'events' => []
                ]
            ];
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 1970-01-01
      • 2017-06-29
      • 2015-01-25
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多