定制 bnomei/kirby-content-last-modified 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bnomei/kirby-content-last-modified

最新稳定版本:1.0.0

Composer 安装命令:

composer require bnomei/kirby-content-last-modified

包简介

Kirby plugin to track the last timestamp when any content was modified at in the full content folder.

README 文档

README

Release Downloads Maintainability Discord

Kirby plugin to track the last timestamp when any content was modified at in the full content folder.

Installation

  • unzip master.zip as folder site/plugins/kirby-content-last-modified or
  • git submodule add https://github.com/bnomei/kirby-content-last-modified.git site/plugins/kirby-content-last-modified or
  • composer require bnomei/kirby-content-last-modified

Usage

When you install this plugin it will create a file in the content folder of your Kirby installation. If any content (site, pages, files) in the content folder changes, this file will store the timestamp when the modification occurred. This might be useful to invalidate caches or trigger other actions.

Output the last modified timestamp

<?= site()->contentLastModified()->toDate('c') ?>

Flush a cache if the content was modified after a given timestamp

<?php
// http://example.com/some-page?last-modified=1726822135

if (site()->contentLastModified()->toInt() > intval(get('last-modified'))) {
    kirby()->cache('my-cache')->flush();
}

Invalidate individual cache values based on the last modified timestamp

<?php
$lastModifiedTimestamp = site()->contentLastModified()->toInt();

/* @var $cache \Kirby\Cache\Cache */
$cache = kirby()->cache('your-cache-name');

/* @var $rawValue \Kirby\Cache\Value */
$rawValue = $cache->retrieve('some-cache-key');
if ($rawValue && $rawValue->created() < $lastModifiedTimestamp) {
    $cache->remove('some-cache-key');
}

// or with the helper
site()->removeFromCacheIfCreatedIsAfterModified('your-cache-name', 'some-cache-key', $lastModifiedTimestamp);

// defaults to site()->contentLastModified()->toInt()
site()->removeFromCacheIfCreatedIsAfterModified('your-cache-name', 'some-cache-key');

Performance

The core method site()->modified() will give you the same timestamp but it will crawl all content files, which might not be the most performant thing to do depending on how much content you have.

Settings

Disclaimer

This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.

License

MIT

It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-09-20