Класс может реализовывать (implements) интерфейс.
Интерфес говорит нам какие методы должны быть у класс, без их непосредственной реализации (это ложится на обязанности класса).
В данном примере могут быть несколько классов, реализующих CacheItemInterface, чтобы можно было реализовать несколько кеш-провайдеров (файловый кеш, мемкеш итд)
php.net/manual/ru/language.oop5.interfaces.php
Upd: В указанном примере довольно странно что $cache переприваивается какое-то значение.
Скорее должно быть что-то
$data = $cache->get('key'); // При этом метод get должен быть указан в интерфейсе.