2017 © Pedro Peláez
 

symfony-bundle knp-piwik-client-bundle

Piwik API client bundle for Symfony2.

image

xstyled/knp-piwik-client-bundle

Piwik API client bundle for Symfony2.

  • Thursday, March 3, 2016
  • by RomainLegouverneur
  • Repository
  • 1 Watchers
  • 0 Stars
  • 31 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 8 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Provides support for Piwik API into your Symfony2 projects., (*1)

Installation

Add Knp\PiwikClient to vendors

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

Specify Knp\PiwikClient in autoload.php

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

Add Knp\PiwikBundle to your src/Bundle dir

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

Add KnpPiwikBundle to your application kernel

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

Configuration

HTTP client (Piwik on remote server)

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

Don't forget to add Buzz library for HTTP requests into vendors:, (*2)

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

And to autoload.php:, (*3)

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

Local PHP client (Piwik on local server)

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

You need to require Piwik library in autoload.php:, (*4)

// 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();

Testing

There is another connection, called stub. It's used for testing:, (*5)

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

Usage

In your controllers:, (*6)

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

Everywhere:, (*7)

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

Api Calls

To see all available methods & their parameters, visit Piwik API Reference., (*8)

PiwikClient Copyright (c) 2011 KnpLabs http://KnpLabs.com. See LICENSE for details., (*9)

The Versions

03/03 2016

dev-master

9999999-dev http://github.com/KnpLabs/KnpPiwikBundle

Piwik API client bundle for Symfony2.

  Sources   Download

MIT

The Requires

 

analytics bundle knplabs piwik knp