wensleydale / keen-io-laravel
A minimal service provider to set up and use the Keen.io PHP library in Laravel 5
Installs: 190 233
Dependents: 1
Suggesters: 0
Security: 0
Stars: 14
Watchers: 1
Forks: 5
Open Issues: 0
Requires
- illuminate/support: 5.*
- keen-io/keen-io: ~2.5
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-11-09 18:27:34 UTC
README
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.
Setup
-
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=
Type Hinting
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'); }