[英]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.