xref: /dokuwiki/vendor/simplepie/simplepie/src/Cache/Base.php (revision 8e88a29b81301f78509349ab1152bb09c229123e)
1<?php
2
3// SPDX-FileCopyrightText: 2004-2023 Ryan Parman, Sam Sneddon, Ryan McCue
4// SPDX-License-Identifier: BSD-3-Clause
5
6declare(strict_types=1);
7
8namespace SimplePie\Cache;
9
10/**
11 * Base for cache objects
12 *
13 * Classes to be used with {@see \SimplePie\Cache::register()} are expected
14 * to implement this interface.
15 *
16 * @deprecated since SimplePie 1.8.0, use "Psr\SimpleCache\CacheInterface" instead
17 */
18interface Base
19{
20    /**
21     * Feed cache type
22     *
23     * @var string
24     */
25    public const TYPE_FEED = 'spc';
26
27    /**
28     * Image cache type
29     *
30     * @var string
31     */
32    public const TYPE_IMAGE = 'spi';
33
34    /**
35     * Create a new cache object
36     *
37     * @param string $location Location string (from SimplePie::$cache_location)
38     * @param string $name Unique ID for the cache
39     * @param Base::TYPE_FEED|Base::TYPE_IMAGE $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
40     */
41    public function __construct(string $location, string $name, $type);
42
43    /**
44     * Save data to the cache
45     *
46     * @param array<mixed>|\SimplePie\SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
47     * @return bool Successfulness
48     */
49    public function save($data);
50
51    /**
52     * Retrieve the data saved to the cache
53     *
54     * @return array<mixed> Data for SimplePie::$data
55     */
56    public function load();
57
58    /**
59     * Retrieve the last modified time for the cache
60     *
61     * @return int Timestamp
62     */
63    public function mtime();
64
65    /**
66     * Set the last modified time to the current time
67     *
68     * @return bool Success status
69     */
70    public function touch();
71
72    /**
73     * Remove the cache
74     *
75     * @return bool Success status
76     */
77    public function unlink();
78}
79
80class_alias('SimplePie\Cache\Base', 'SimplePie_Cache_Base');
81