繁体   English   中英

TYPO3 CMS EXT:webkitpdf错误CacheDatabaseBackend TYPO3 9.5

[英]TYPO3 CMS EXT:webkitpdf error CacheDatabaseBackend TYPO3 9.5

因为不再维护著名的扩展webkitpdf,所以我将尽我最大的努力使它在TYPO3 9.5下工作。 我的修补版本https://github.com/EnzephaloN/typo3-extension-webkitpdf直到8.7都可以正常工作,但是现在我在Classes / Utility / CacheDatabaseBackend.php :: set中遇到错误

/**
     * Saves data in a cache file.
     *
     * @param string $entryIdentifier An identifier for this specific cache entry
     * @param string $data The data to be stored
     * @param array $tags Tags to associate with this cache entry
     * @param integer $lifetime Lifetime of this cache entry in seconds. If NULL is specified, the default lifetime is used. "0" means unlimited liftime.
     * @return void
     */
    public function set($entryIdentifier, $data, array $tags = array(), $lifetime = NULL) {
        if ($this->maximumNumberOfEntries > 0 && !$this->has($entryIdentifier)) {
            $this->removeOldEntriesIfRequired();
        }
        parent::set($entryIdentifier, $data, $tags, $lifetime);
    }

parent :: set($ entryIdentifier,$ data,$ tags,$ lifetime); 导致无法调用抽象方法TYPO3 \\ CMS \\ Core \\ Cache \\ Backend \\ BackendInterface :: set()错误。

有人知道如何将这种方法调整为TYPO3 9.5吗?

试图从\\ TYPO3 \\ CMS \\ Core \\ Cache \\ Backend \\ Typo3DatabaseBackend扩展,这导致了很多麻烦,因为后端存在不同的错误。

现在我禁用了调用parent :: set(...-所以它可以在没有缓存的情况下工作,但是没有错误。

BackendInterface ,功能set的定义如下:

public function set($entryIdentifier, $data, array $tags = [], $lifetime = null);

但是,它在TYPO3版本9中的AbstractBackend类中从来没有任何具体功能。可能在版本8中有所不同,并且仍然可以工作。

因此,您必须在自己的类中定义函数,并且必须满足在BackendInterface预定义的要求, BackendInterface所示。

要了解该功能的功能,请在TYPO3 7或8中查看。即使您必须对其进行调整,也可能有用。

编辑:一般来说,保持与parent::set(...);的调用parent::set(...); 在您自己的函数中,您仍然必须创建另一个类。 如果您不需要其他地方的功能,则可能不需要这样做。
通常,您可以只搜索较旧版本中的功能,然后将该功能集成到现有功能set(...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM