FeedConfigsController::_clearCache PHP Метод

_clearCache() защищенный Метод

フィードのキャッシュを削除する TODO 第2引き数がない場合、全てのRSSのキャッシュを削除してしまう仕様となっているので RSSキャッシュ保存名をURLのハッシュ文字列ではなく、feed_detail_idを元にした文字列に変更し、 feed_detail_idで指定して削除できるようにする
protected _clearCache ( string $feedConfigId = '', string $url = '' ) : void
$feedConfigId string
$url string
Результат void
    protected function _clearCache($feedConfigId = '', $url = '')
    {
        if ($feedConfigId) {
            clearViewCache('/feed/index/' . $feedConfigId);
            clearViewCache('/feed/ajax/' . $feedConfigId);
            clearViewCache('/feed/cachetime/' . $feedConfigId);
        } else {
            clearViewCache('/feed/index');
            clearViewCache('/feed/ajax');
            clearViewCache('/feed/cachetime');
        }
        if ($url) {
            if (strpos($url, 'http') === false) {
                // 実際のキャッシュではSSLを利用しているかどうかわからないので、両方削除する
                clearCache($this->Feed->createCacheHash('', 'http://' . $_SERVER['HTTP_HOST'] . $this->base . $url), 'views', '.rss');
                clearCache($this->Feed->createCacheHash('', 'https://' . $_SERVER['HTTP_HOST'] . $this->base . $url), 'views', '.rss');
            } else {
                clearCache($this->Feed->createCacheHash('', $url), 'views', '.rss');
            }
        } else {
            clearViewCache(null, 'rss');
        }
    }