Symfony代码访问受保护的属性应该引发错误,但不会

时间:2018-11-06 14:06:23

标签: php symfony

在Symfony 3.4.17中,look_back中有一行会触发PHpStorm警告:

Symfony\Component\Cache\Adapter\AbstractAdapter.php

$ key,$ value等属性是CacheItem();的受保护属性。

当直接访问受保护的属性时,PHP应该引发异常,我使用以下脚本对其进行了仔细检查:

$this->createCacheItem = \Closure::bind(
        function ($key, $value, $isHit) use ($defaultLifetime) {
            $item = new CacheItem();
            $item->key = $key; //directly accessing protected property!
            $item->value = $value;
            $item->isHit = $isHit;
            $item->defaultLifetime = $defaultLifetime;

            return $item;
        },
        null,
        CacheItem::class
    );

这将引发“ PHP致命错误:未捕获的错误:无法访问受保护的属性测试:: $ a”。

为什么Symfony代码可以正常运行,但是我的脚本(正确)失败了?

0 个答案:

没有答案