bnomei / kirby3-bolt

此包已被弃用且不再维护。未建议替代包。

Kirby 3 插件,用于在大内容树中进行快速页面查找

1.2.4 2021-09-15 21:30 UTC

README


主要目的是与已弃用的AutoID插件一起使用。请使用我的Boost插件代替,因为它继承了大量的Bolts逻辑。
 

Kirby 3 Bolt

Release Build Status Coverage Status Maintainability Twitter

Kirby 3 插件,用于在大内容树中进行快速页面查找

商业使用


支持开源!

此插件免费,但如果您将其用于商业项目,请考虑赞助我或进行捐赠。
如果我的工作帮助您赚了一些钱,那么我觉得我也许应该得到一些回报,对吧?

请行善。分享一点点。谢谢。

- Bruno
 
M O N E Y
Github赞助 Patreon 买我一杯咖啡 Paypal捐赠 雇佣我

安装

  • master.zip解压缩为文件夹site/plugins/kirby3-bolt
  • git submodule add https://github.com/bnomei/kirby3-bolt.git site/plugins/kirby3-bolt或
  • composer require bnomei/kirby3-bolt

Bolt为什么更快以及快多少?

因为它不会扫描每个目录和文件,而是尽可能多地跳过它们。一旦你在代码中使用页面对象,Kirby会懒加载未初始化的属性。

获得的多少取决于跳过的数量。平均来说,你可以期望它比你的内容树中的平均文件夹数量快n倍。例如:1000个页面在10个文件夹中3层深:10*10*10。如果你需要第三层的页面,Kirby将不得不创建10+10+10=30个页面的索引,而Bolt只需创建3个。

使用

// lets assume 1000 pages: 10*10*10
$id = 'this-page-has/ten-siblings/in-every-subfolder';
$page = page($id); // kirby core
$page = bolt($id); // ~10x faster lookup

// can lookup beginning at a certain page as well
$page = $somePage->bolt($idInTree);

// it's even faster when you look up based on a directory name
$page = bolt('1_this-page-has/5_ten-siblings/3_in-every-subfolder');

与以下插件配合使用效果很好

替代品

  • kirby3-boost 它类似于Bolt + AutoID,但具有缓存功能

相关插件

免责声明

此插件提供“原样”且无任何保证。请自行承担使用风险,并在将插件用于生产环境之前自行测试。如果您发现任何问题,请创建新问题

许可证

MIT

不建议在任何宣传种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式仇恨言论的项目中使用此插件。

致谢

基于以下想法: