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

时间:2017-05-18 20:58:50

标签: php namespaces

我正在实施PHP-FIG的PSR-6缓存建议,但我发现致命错误,我不确定如何解决。

  

Whatever \ CacheItemPoolInterface :: save()声明必须与Psr \ Cache \ CacheItemPoolInterface :: save(Psr \ Cache \ CacheItemInterface $ item)兼容

我接受相同的参数并返回与接口类相同的值。

这是我正在处理的代码的简化版本。

我的实施课程:

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...
}

这是我实施的课程:

<?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);
}

任何想法我做错了什么?

0 个答案:

没有答案