Sonar 是网站访客监控工具。基于 Phalcon 和 MongoDb 构建。通过 WebSocket 连接进行访客监控。非常适合基于 REST 技术构建的网站。您可以将此包轻松集成以跟踪访客的详细信息。检查网站每个页面的时间,确定设备,地理位置。

v1.2.2-alpha 2015-09-27 03:07 UTC

README

Scrutinizer Code Quality Code Coverage Build Status

Latest Stable Version Total Downloads Latest Unstable Version License

Sonar 是网站访客监控工具。基于 Phalcon 和 MongoDb 构建。通过 WebSocket 连接进行访客监控。非常适合基于 REST 技术构建的网站。您可以将此包轻松集成以跟踪访客的详细信息。检查网站每个页面的时间,确定设备,地理位置。

变更日志

[v1.2.2-alpha] 2015-09-27

- add debugger (show verbose in config)
- change cache session (to shared memory)

[v1.2-alpha] 2015-09-22

- configurable error log
- add cache session (memcache)
- silent error logger (warnings & noticies)

[v1.1-alpha] 2015-09-21

- implementing geo location detector

[v1.0-alpha] 2015-09-20

- the first version of package
- socket application named as "Sonar"
- implemented:
    - tracking user's page position
    - tracking user's page timing activity
    - tracking user's device (phone, table, pc)
    - tracking the time of each page

兼容性

  • PSR-1, PSR-2, PSR-4 标准

系统要求

  • PHP 5.5 或更高版本
  • Phalcon PHP 扩展 1.3.4(支持 2.x)
  • PHP MongoDb 客户端扩展
  • Beanstalk 队列服务器

安装

首先通过 composer 更新您的依赖。在您的 composer.json 中添加

"require": {
    "stanislav-web/sonar": "dev-master",
}

然后运行以下命令来更新依赖和自动加载器

php composer.phar update
php composer.phar install

或者

php composer.phar require stanislav-web/sonar dev-master

(不要忘记包含 composer 自动加载器)

配置

此包有多种设置,包括必需的和可选的。

  1. 如果您将它们用于全局应用程序配置,可以在 Phalcon 项目的全局应用程序配置文件中选择它们。请参阅示例
    // CLI task's configuration (required)

    'cli' => [

        // Sonar task configuration
        'sonar' =>  [
            'debug'     =>   true,  // verbose mode
            'errors'    =>   true,  // add errors to logfile
            'cache'     =>   true,  // enable cache
            'errorLog'  =>   APP_PATH.'/../logs/sonar-error.log',

            // queue client configurations
            'beanstalk'        =>  [
                'host'  =>  '127.0.0.1',
                'port'  =>  11300,
            ],

            // webscoket server configuration
            'socket'        =>  [
                'host'  =>  '127.0.0.1',
                'port'  =>  9003,
            ],

            // db storage configuration (Mongo)
            'storage'       =>  [
                'host'      =>  '127.0.0.1',
                'port'      =>  27017,
                'user'      =>  'root',
                'password'  =>  'root',
                'dbname'    =>  'sonar',
            ]
        ]
    ];
  1. 在您的 Phalcon CLI 自动加载器中注册任务
    $loader = new \Phalcon\Loader();
    $loader->registerDirs([
        ...
        DOCUMENT_ROOT.'vendor/stanislav-web/sonar/src/Sonar/System/Tasks'
        ...
    ]);
  1. 从您的项目使用 CLI 运行套接字服务器。并通过 Web 界面跟踪用户(尚未实现)
php public/cli.php sonar

(客户端连接示例请见此处

单元测试

也可在 /phpunit 目录中找到。运行以下命令以启动

// Create mongo user
mongo

use sonar_test

db.createUser({
        user: "test_user",
        pwd: "test_password",
        roles: [ { role: "userAdmin", db: "sonar_test" } ]
    }
)
phpunit --configuration phpunit.xml.dist --coverage-text

or from your project root: 

phpunit --configuration ./vendor/stanislav-web/sonar/phpunit.xml.dist --coverage-text

未来

  • 更多示例
  • 输出正常

文档

##问题