Issues (61)

src/DonutRepositoryInterface.php (1 issue)

Labels
Severity
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BEAR\QueryRepository;
6
7
use BEAR\Resource\AbstractUri;
8
use BEAR\Resource\ResourceObject;
9
10
interface DonutRepositoryInterface
11
{
12
    /**
13
     * Return resource object from donut-caching
14
     */
15
    public function get(ResourceObject $ro): ResourceObject|null;
16
17
    /**
18
     * Create cacheable donut-caching
19
     *
20
     * The entire donut, including the donut and the hole, can be cached,
21
     * and cache headers such as Cdn-Cache-Control, ETag, and Age will be given.
22
     *
23
     * @param ResourceObject $ro      request invoked ResourceObject
24
     * @param ?int           $ttl     TTL for the donut (not for donut-hole)
25
     * @param ?int           $sMaxAge TTL, used as `max-age` in CDN cache control
26
     *
27
     * @see https://www.computerworld.com/article/2833493/what-exactly-is-donut-caching-.html
28
     */
29
    public function putStatic(ResourceObject $ro, int|null $ttl = null, int|null $sMaxAge = null): ResourceObject;
30
31
    /**
32
     * Create un-cacheable donut-caching
33
     *
34
     * The donut and the hole can be cached individually, but not the whole donut,
35
     * and cache headers such as Cdn-Cache-Control, ETag, and Age will not be given.
36
     */
37
    public function putDonut(ResourceObject $ro, int|null $donutTtl): ResourceObject;
38
39
    /**
40
     * Purge donut caching
41
     */
42
    public function purge(AbstractUri $uri): void;
43
44
    /** @param list<string> $tags */
0 ignored issues
show
The type BEAR\QueryRepository\list was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
45
    public function invalidateTags(array $tags): void;
46
}
47