您可以看到需要在中实现哪些方法 DefinitionCache.php ,您需要扩展它( class YourFullClassName extends HTMLPurifier_DefinitionCache ). 本着不让大多数答案只能在链接中访问的精神,下面是您必须实现的类的抽象方法:
/**
* Adds a definition object to the cache
* @param HTMLPurifier_Definition $def
* @param HTMLPurifier_Config $config
*/
abstract public function add($def, $config);
/**
* Unconditionally saves a definition object to the cache
* @param HTMLPurifier_Definition $def
* @param HTMLPurifier_Config $config
*/
abstract public function set($def, $config);
/**
* Replace an object in the cache
* @param HTMLPurifier_Definition $def
* @param HTMLPurifier_Config $config
*/
abstract public function replace($def, $config);
/**
* Retrieves a definition object from the cache
* @param HTMLPurifier_Config $config
*/
abstract public function get($config);
/**
* Removes a definition object to the cache
* @param HTMLPurifier_Config $config
*/
abstract public function remove($config);
/**
* Clears all objects from cache
* @param HTMLPurifier_Config $config
*/
abstract public function flush($config);
/**
* Clears all expired (older version or revision) objects from cache
* @note Be careful implementing this method as flush. Flush must
* not interfere with other Definition types, and cleanup()
* should not be repeatedly called by userland code.
* @param HTMLPurifier_Config $config
*/
abstract public function cleanup($config);
1条答案
按热度按时间3gtaxfhh1#
除了“serializer”之外,目前在html净化器库中没有其他官方缓存。也就是说,您可以编写自己的
HTMLPurifier_DefinitionCache
.为了能够加载自定义缓存,您必须向注册实现
DefinitionCacheFactory
. 据我所知,这应该是可行的:您可以看到需要在中实现哪些方法
DefinitionCache.php
,您需要扩展它(class YourFullClassName extends HTMLPurifier_DefinitionCache
). 本着不让大多数答案只能在链接中访问的精神,下面是您必须实现的类的抽象方法:如果您发现需要重写该类中的其他一些方法,则可以重写这些方法,例如。
generateKey($config)
或者isOld($key, $config)
.我希望这有帮助!