douhanzhen8927 2017-05-18 20:58
浏览 224

实现\ Psr \ Cache \ CacheItemPoolInterface会导致致命错误

I'm working an implementation of PHP-FIG's PSR-6 caching recommendation but I'm getting a fatal error that I'm not sure how to resolve.

Declaration of Whatever\CacheItemPoolInterface::save() must be compatible with Psr\Cache\CacheItemPoolInterface::save(Psr\Cache\CacheItemInterface $item)

I'm accepting the same parameters and returning the same values as the interface class.

Here's a stripped-down version of the code I'm working on.

My implementation class:

namespace Whatever;

class CacheItemPoolInterface implements \Psr\Cache\CacheItemPoolInterface {
  ... More methods and such up here...

  public function save(CacheItemInterface $item) {
    $key = $item->getKey();
    $value = $item->get();
    $expiration = $item->getExpiration();
    if (cache_set($key, $value, $this->bin, $expiration)) {
      return TRUE;
    }
    else {
      return FALSE;
    }
  }
  ... Some more stuff down here too...
}

Here's the class I'm implementing:

<?php

namespace Psr\Cache;

interface CacheItemPoolInterface
{

   /**
    * Persists a cache item immediately.
    *
    * @param CacheItemInterface $item
    *   The cache item to save.
    *
    * @return bool
    *   True if the item was successfully persisted. False if there was an error.
    */
   public function save(CacheItemInterface $item);
}

Any ideas what I'm doing wrong?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 WPF 大屏看板表格背景图片设置
    • ¥15 这个主板怎么能扩出一两个sata口
    • ¥15 不是,这到底错哪儿了😭
    • ¥15 2020长安杯与连接网探
    • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
    • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
    • ¥16 mybatis的代理对象无法通过@Autowired装填
    • ¥15 可见光定位matlab仿真
    • ¥15 arduino 四自由度机械臂
    • ¥15 wordpress 产品图片 GIF 没法显示