0

Bolt.cmで作ったサイトがあります。Bolt.cm Web サイトのいくつかの場所で、自分のサイトの特定のページのビュー数を表示したいと考えています。

これらの変数を Bolt.cm フラットファイル データベースに保存するにはどうすればよいですか? テンプレートに正しい変数を表示するにはどうすればよいですか?

ビューで一部の IP アドレスを除外できればいいのですが。私はフラットファイルの専門家ではありません (まだ) ;)

例:

記事 1 - Google を支配する方法 - 5 ビュー

4

2 に答える 2

2

非常に意図的に、デフォルトでは不可能です。

この種のことについては、Google アナリティクスなどを使用する方がはるかに優れています。Web サーバーは、スパイダー/ボット/クローラーなど、データベースのパフォーマンスをすぐに低下させるあらゆる種類のものによって打撃を受けます。何が本当のリクエストかを判断しようとする楽しさは言うまでもありません。

次に、ページが読み込まれるたびに Google アカウントにクエリを実行する拡張機能を作成できますが、これはお勧めしません。

于 2015-03-23T12:54:40.840 に答える
1

私は@Gawainに完全に同意しますが、Googleアナリティクスを使用する方がはるかに優れているか、独自のデータを制御したい場合は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 ハンドラーでこれらすべてを行うこともできますが、ページの読み込みごとに追加のデータベース ヒットを行うと、アプリの速度が不必要に低下する可能性があるため、注意してください。

于 2015-03-24T13:30:04.010 に答える