Package Data | |
---|---|
Maintainer Username: | garethtdavies |
Maintainer Contact: | hello@garethtdavies.com (Gareth Davies) |
Package Create Date: | 2015-06-26 |
Package Last Update: | 2019-04-01 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-09 15:00:58 |
Package Statistics | |
---|---|
Total Downloads: | 190,231 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 14 |
Total Watchers: | 1 |
Total Forks: | 5 |
Total Open Issues: | 0 |
A service provider and facade to set up and use the Keen.io PHP library in Laravel 5.
This package consists of a service provider, which binds an instance of an initialized Keen.io client to the IoC-container and a Keen facade so you may access all methods of the Keen-io class via the syntax:
$event = ['purchase' => ['item' => 'Golden Elephant']];
Keen::addEvent('purchases', $event);
You should refer to the Keen PHP client for full details about all available methods.
Install the 'wensleydale/keen-io-laravel' package
Note, this will also install the required keen-io/keen-io package.
$ composer require wensleydale/keen-io-laravel:1.*
Update 'config/app.php'
# Add `KeenLaravelServiceProvider` to the `providers` array
'providers' => array(
...
Wensleydale\KeenLaravel\KeenLaravelServiceProvider::class,
)
# Add the `KeenFacade` to the `aliases` array
'aliases' => array(
...
'Keen' => Wensleydale\KeenLaravel\KeenFacade::class,
)
Publish the configuration file (creates keen.php in config directory)
$ php artisan vendor:publish
Then either edit the keen.php file in the config directory or simply add the following to your .env file:
KEEN_PROJECT_ID=
KEEN_MASTER_KEY=
KEEN_WRITE_KEY=
KEEN_READ_KEY=
If you do not wish to make use of the Keen facade you may simply "type-hint" the KeenIOClient dependency in the constructor of a class that is resolved by the IoC container and an instantiated client will be ready for use.
use KeenIO\Client\KeenIOClient;
private $client;
public function __construct(KeenIOClient $client)
{
$this->client = $client;
}
public function addEvent()
{
$event = ['purchase' => ['item' => 'Golden Elephant']];
$this->client->addEvent('purchases', $event);
//Or overwrite defaults
$this->client->setProjectId('new-project-id');
}