xstyled/knp-piwik-client-bundle

Symfony2 的 Piwik API 客户端包。

安装: 38

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 7

类型:symfony-bundle

dev-master 2016-03-03 10:42 UTC

This package is auto-updated.

Last update: 2024-09-12 01:37:06 UTC


README

为您的 Symfony2 项目提供对 Piwik API 的支持。

安装

将 Knp\PiwikClient 添加到 vendors 目录

git submodule add git://github.com/KnpLabs/KnpPiwikClient.git vendor/PiwikClient

在 autoload.php 中指定 Knp\PiwikClient

// app/autoload.php
$loader->registerNamespaces(array(
    // ...
    'Knp\PiwikClient'   => __DIR__.'/../vendor/PiwikClient/src',
    // ...
));

将 Knp\PiwikBundle 添加到您的 src/Bundle 目录

git submodule add git://github.com/KnpLabs/PiwikBundle.git vendor/bundles/Knp/Bundle/PiwikBundle

将 KnpPiwikBundle 添加到您的应用程序内核

// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        // ...
        new Knp\Bundle\PiwikBundle\KnpPiwikBundle(),
        // ...
    );
}

配置

HTTP 客户端(远程服务器上的 Piwik)

# app/config/config.yml
knp_piwik:
    connection: piwik.connection.http
    url:        http://piwik.example.com
    token:      PIWIK_API_TOKEN

别忘了将 Buzz 库添加到 vendors 目录以用于 HTTP 请求

git submodule add https://github.com/kriswallsmith/Buzz.git src/vendor/Buzz

并在 autoload.php 中指定

// src/autoload.php
$loader->registerNamespaces(array(
    // ...
    'Buzz'  => $vendorDir.'/Buzz/lib',
    // ...
));

本地 PHP 客户端(本地服务器上的 Piwik)

# app/config/config_dev.yml
knp_piwik:
    connection: piwik.connection.piwik
    token:      PIWIK_API_TOKEN

您需要在 autoload.php 中引入 Piwik 库

// src/autoload.php
// ...
define('PIWIK_ENABLE_DISPATCH', false);
define('PIWIK_ENABLE_ERROR_HANDLER', false);
define('PIWIK_ENABLE_SESSION_START', false);
require_once PIWIK_INCLUDE_PATH . "/index.php";
require_once PIWIK_INCLUDE_PATH . "/core/API/Request.php";
Piwik_FrontController::getInstance()->init();

测试

还有一个名为 stub 的其他连接,用于测试

# app/config/config_test.yml
knp_piwik:
    connection: piwik.connection.stub

用法

在您的控制器中

$dataArray = $this->get('piwik.client')->
    call('API.getReportMetadata', array('idSites' => array(2, 3)));

到处

$dataArray = $container->get('piwik.client')->
    call('API.getReportMetadata', array('idSites' => array(2, 3)));

API 调用

要查看所有可用方法和它们的参数,请访问 Piwik API 参考

版权

PiwikClient 版权所有 (c) 2011 KnpLabs http://KnpLabs.com。有关详细信息,请参阅 LICENSE。