synchro / segment
A Segment bridge for Laravel
Requires
- php: ^8.1
- illuminate/config: ^9.0 || ^10.0
- illuminate/support: ^9.0 || ^10.0
- segmentio/analytics-php: ^3.6.0
Requires (Dev)
- graham-campbell/analyzer: ^4.0
- graham-campbell/testbench: ^6.0
- phpunit/phpunit: ^9.0 || ^10.0
- tightenco/duster: ^1.2
Replaces
- alt-three/segment: ^3.5.0
README
This package is a Segment bridge for Laravel, which relies on Segment's own PHP library. This version requires PHP 8.1 and up, and supports Laravel 9 – 10. This package was originally written by Graham Campbell for Alt Three, but was abandoned in April 2022. This fork was resurrected in April 2023 by Marcus Bointon (@Synchro).
Installation
Install the package using Composer:
$ composer require synchro/segment:^4.0
Once installed, if you are not using automatic package discovery, then you need to register the Synchro\Segment\SegmentServiceProvider
service provider in your config/app.php
.
Configuration
Segment requires configuration.
To get started, you'll need to publish all vendor assets:
$ php artisan vendor:publish
This will create a config/segment.php
file in your app that you can modify to set your configuration. Also, make sure you check for changes to the original config file in this package between releases.
Usage
Once you've set your write_key
value in the configuration, you're ready to go! For the most part you can follow Segment's own instructions however, you'll want to replace the Analytics
classname with Segment
- plus, you don't need to call class_alias
.
Identify the user
Segment::identify([ 'userId' => '12345abcde', 'traits' => [ 'name' => 'James Brooks', 'email' => 'test@test.com', ], ]);
Track actions
Segment::track([ 'userId' => '12345abcde', 'event' => 'Did something', 'properties' => [ 'was_awesome' => true, ], ]);
Tests
Run tests with ./vendor.bin/phpunit
or composer test
.
Coding standards
Coding standards are checked and enforced using Tighten's Duster package using the default Laravel coding standard. Check for coding standards issues by running ./vendor/bin/duster lint
, and apply automatic fixes using ./vendor/bin/duster fix
, or composer cs
. These checks are also run using GitHub actions.
Security
Our security policy is available to read here.
License
This library is licensed under The MIT License (MIT).