bnomei / kirby3-bolt
此包已被弃用且不再维护。未建议替代包。
Kirby 3 插件,用于在大内容树中进行快速页面查找
1.2.4
2021-09-15 21:30 UTC
Requires
- php: >=7.3.0
- getkirby/composer-installer: ^1.1
Requires (Dev)
- getkirby/cms: ^3.2
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^9.5
Suggests
- bnomei/kirby3-autoid: AutoID has build in support for Bolt which makes it incredibly fast.
- lukaskleinschmidt/kirby-resolve: In using the same idea but applied routes using paths (not ids) and thus even faster.
This package is auto-updated.
Last update: 2022-11-06 14:22:05 UTC
README
主要目的是与已弃用的AutoID插件一起使用。请使用我的Boost插件代替,因为它继承了大量的Bolts逻辑。
Kirby 3 Bolt
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-autoid 其中它加快了页面查找速度
替代品
- kirby3-boost 它类似于Bolt + AutoID,但具有缓存功能
相关插件
- kirby-resolve 由Lukas Kleinschmidt创建
免责声明
此插件提供“原样”且无任何保证。请自行承担使用风险,并在将插件用于生产环境之前自行测试。如果您发现任何问题,请创建新问题。
许可证
不建议在任何宣传种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式仇恨言论的项目中使用此插件。
致谢
基于以下想法: