PHP code example of cocosport / rybbit-sdk-for-laravel
1. Go to this page and download the library: Download cocosport/rybbit-sdk-for-laravel library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cocosport / rybbit-sdk-for-laravel example snippets
// config/rybbit.php
'script' => [
'debounce' => env('RYBBIT_SCRIPT_DEBOUNCE'),
'skip_patterns' => ['/admin/**'],
'mask_patterns' => ['/users/**/profile'],
'tag' => env('RYBBIT_SCRIPT_TAG'),
// ...
],
use Cocosport\Rybbit\Facades\Rybbit;
Rybbit::track()->pageView(['pathname' => '/checkout']);
Rybbit::track()->event('purchase', ['amount' => 99.99, 'currency' => 'USD']);
Rybbit::track()->performance(['lcp' => 1200.5, 'cls' => 0.05]);
Rybbit::track()->outbound('https://example.com', ['text' => 'Example link']);
Rybbit::track()->error('TypeError', 'Cannot read property of undefined', ['fileName' => 'app.js']);
Rybbit::track()->send('pageview', [
'pathname' => '/checkout',
]);
use Cocosport\Rybbit\Enums\SortOrder;
use Cocosport\Rybbit\Enums\UserSortBy;
use Cocosport\Rybbit\Facades\Rybbit;
Rybbit::users()->list(page: 1, pageSize: 25, sortBy: UserSortBy::Pageviews, sortOrder: SortOrder::Desc);
Rybbit::users()->sessionCount('abc123def456', ['time_zone' => 'America/New_York']);
Rybbit::users()->find('[email protected] ');
Rybbit::users()->delete('[email protected] ');
use Cocosport\Rybbit\Enums\FilterParameter;
use Cocosport\Rybbit\Enums\TimeBucket;
use Cocosport\Rybbit\Facades\Rybbit;
Rybbit::overview()->summary(startDate: '2024-01-01', endDate: '2024-01-31');
Rybbit::overview()->timeSeries(TimeBucket::Day, startDate: '2024-01-01', endDate: '2024-01-31');
Rybbit::overview()->liveVisitors(minutes: 5);
Rybbit::overview()->metric(FilterParameter::Country, limit: 10);
Rybbit::overview()->pageTitles(limit: 10);
use Cocosport\Rybbit\Enums\FilterParameter;
use Cocosport\Rybbit\Facades\Rybbit;
Rybbit::fake();
// ... code under test calls Rybbit::track()->pageView(...) or Rybbit::users()->list(...) ...
Rybbit::assertPageViewSent(fn (array $data) => $data['pathname'] === '/checkout');
Rybbit::assertEventSent('purchase', fn (array $data) => $data['properties']['amount'] === 99.99);
Rybbit::assertOutboundSent('https://example.com');
Rybbit::assertErrorSent('TypeError');
Rybbit::assertNothingSent();
Rybbit::assertSentCount(2);
// escape hatch for anything not covered above
Rybbit::assertSent(fn (string $key, array $data) => $key === 'pageview');
// users() side
Rybbit::assertUsersListed(fn (array $query) => $query['sort_by'] === 'pageviews');
Rybbit::assertUserRequested('[email protected] ');
Rybbit::assertUserDeleted('[email protected] ');
Rybbit::assertSessionCountRequested('abc123def456');
// overview() side
Rybbit::assertOverviewRequested();
Rybbit::assertTimeSeriesRequested(fn (array $query) => $query['bucket'] === 'day');
Rybbit::assertLiveVisitorsRequested();
Rybbit::assertMetricRequested(FilterParameter::Country);
Rybbit::assertPageTitlesRequested();
Rybbit::fake([
'users.find' => ['data' => ['user_id' => 'abc', 'identified_user_id' => '[email protected] ']],
]);
bash
php artisan vendor:publish --tag="rybbit"
bash
php artisan vendor:publish --tag="rybbit-config"