jdvorak23 / visits
显示网站访问量 - Nette 的三个组件
v1.0.1
2023-07-30 12:42 UTC
Requires
- php: >=8.1
- nette/application: ^3.1
README
三个用于显示访问量的组件
- 卡片 - 4 个卡片 - 总计、年度、月份、7 天
- 页面 - 单个页面的绝对和相对比例
- IPs - 添加忽略 IP 地址
安装
composer require jdvorak23/visits
在 services.neon
中注册
- Jdvorak23\Visits\VisitCardsFactory - Jdvorak23\Visits\VisitPagesFactory - Jdvorak23\Visits\VisitIpsFactory - Jdvorak23\Visits\Model\VisitManager
javascript
需要javascript。使用 /assets
文件夹中的脚本
index.js (主)
import '../Components/visits/src/assets/visits' // Podle toho kam se zkopírovalo
创建组件
// DI továren - konstruktor, inject, ... private readonly VisitCardsFactory $visitCardsFactory, private readonly VisitIpsFactory $visitIpsFactory, private readonly VisitPagesFactory $visitPagesFactory protected function createComponentCards(): VisitCardsControl { return $this->visitCardsFactory->create(); } protected function createComponentIps(): VisitIpsControl { return $this->visitIpsFactory->create(); } protected function createComponentPages(): VisitPagesControl { return $this->visitPagesFactory->create(); }
并在模板中
{control cards} {control pages} {control ips}
添加访问权限
在 Base(Front)Presenter 中某处注入依赖关系
protected VisitManager $visitManager; public function injectManagers(VisitManager $visitManager): void { $this->visitManager = $visitManager; }
在 Base(Front)Presenter 中某处,最好是 beforeRender
protected function beforeRender(): void { parent::beforeRender(); $this->addVisit(); } protected function addVisit(): void { $remoteAddress = $this->getHttpRequest()->getRemoteAddress(); $page = $this->getHttpRequest()->getUrl()->getPath(); $this->visitManager->addVisit($remoteAddress, $page); }