我有一个用 Bolt.cm 制作的网站。我想在 bolt.cm 网站的几个地方显示我网站上特定页面的浏览量。
如何将这些变量存储在 Bolt.cm 平面文件数据库中?如何在模板中显示正确的变量?
如果我可以在视图中排除一些 IP 地址,那就太好了。我不是平面文件专家(还);)
例子:
第 1 条 - 如何称霸 google - 5 意见
我有一个用 Bolt.cm 制作的网站。我想在 bolt.cm 网站的几个地方显示我网站上特定页面的浏览量。
如何将这些变量存储在 Bolt.cm 平面文件数据库中?如何在模板中显示正确的变量?
如果我可以在视图中排除一些 IP 地址,那就太好了。我不是平面文件专家(还);)
例子:
第 1 条 - 如何称霸 google - 5 意见
默认情况下这是不可能的,非常刻意。
你最好使用谷歌分析之类的东西来做这类事情。Web 服务器会受到蜘蛛/机器人/爬虫和各种会立即削弱数据库性能的事物的攻击。更不用说尝试决定什么是真正的请求的乐趣了。
然后,您可以编写一个扩展程序来在每个页面加载时查询您的 Google 帐户,尽管我真的不推荐它。
虽然我完全同意@Gawain 的观点,如果你想控制自己的数据,使用 Google Analytics 或者 Piwik 会更好,但如果你想自己解决它,那么我会在$app->run()
通话之前提出一些类似的建议.
$app->after(function($request){
$data = json_encode(
array(
'route'=>$request->get("_route"),
'params'=>$request->get("_route_params"),
'ip' => $request->server->get("REMOTE_ADDR")
)
);
error_log($data, 3, '/path/to/logger.txt');
});
这至少可以让您快速将必要的数据写入日志文件,然后您可以使用作业处理命令来获取并保存到数据库中。
虽然如果你真的想要的话,你可以在 after 处理程序中完成所有这些,但是在每个页面加载时进行额外的 db 命中可能会不必要地减慢你的应用程序,所以要小心。