PHP

PHP SDK

Modern PHP SDK with Laravel integration

Laravel integration
Event-driven
Composer
PHP 8.0+

Quick Start

Get up and running with the Fluxum PHP SDK in minutes

Using composer

composer require fluxum/fluxum-sdk-php

Laravel Integration

Full Laravel integration with service providers and dependency injection.

Exception Handling

Comprehensive exception handling and retry mechanisms.

Event-driven

Event-driven architecture with listeners and priority-based job queuing.

Event Handling

Handle real-time events with the SDK

<?php
class MyEventListener implements SDKEventListener
{
    public function onConnect(): void
    {
        echo "Connected!";
    }
    public function onJobUpdate(string $jobId, string $status, array $data): void
    {
        echo "Job update: $jobId, $status";
    }
    public function onError(string $error): void
    {
        echo "Error: $error";
    }
}
$sdk->addEventListener(new MyEventListener());

Job Submission Examples

Examples of different job types and configurations

Priority Queuing

// Submit high priority job
$urgentJob = new JobPayload([
    'type' => 'urgent_notification',
    'data' => ['message' => 'System alert'],
    'priority' => 'high'
]);

$urgentJobId = $sdk->submitJob($urgentJob);

// Submit normal priority job
$normalJob = new JobPayload([
    'type' => 'regular_update',
    'data' => ['message' => 'Daily report'],
    'priority' => 'normal'
]);

$normalJobId = $sdk->submitJob($normalJob);

Advanced Features

Advanced configuration and features

Laravel Service Provider

<?php
namespace App\Services;

use Fluxum\SDK\FluxumSDK;
use Illuminate\Support\ServiceProvider;

class FluxumServiceProvider extends ServiceProvider
{
    public function register(): void
    {
        $this->app->singleton(FluxumSDK::class, function ($app) {
            return new FluxumSDK([
                'api_key' => config('fluxum.api_key'),
                'environment' => config('fluxum.environment', 'sandbox'),
                'auto_connect' => true
            ]);
        });
    }
}
// In your controller or service
class OrderService
{
    public function __construct(private FluxumSDK $sdk) {}
    public function processOrder(array $orderData): string
    {
        $jobPayload = new JobPayload([
            'type' => 'process_order',
            'data' => $orderData,
            'priority' => 'high'
        ]);
        return $this->sdk->submitJob($jobPayload);
    }
}

Error Handling

Comprehensive error handling and recovery

<?php
class RobustEventListener implements SDKEventListener
{
    public function onError(string $error): void
    {
        if (str_contains($error, 'AUTHENTICATION')) {
            error_log("❌ Authentication failed: {$error}");
            // Implement retry logic
        } elseif (str_contains($error, 'CONNECTION')) {
            error_log("❌ Connection failed: {$error}");
            // Implement reconnection logic
        } elseif (str_contains($error, 'RATE_LIMIT')) {
            error_log("⏰ Rate limit exceeded: {$error}");
            // Implement backoff strategy
        } else {
            error_log("❌ Unknown error: {$error}");
        }
    }
}
$sdk->addEventListener(new RobustEventListener());

Requirements

System requirements and dependencies

PHP Version

PHP 8.0 or higher

Dependencies

  • fluxum/fluxum-sdk-php (Composer package)
  • Laravel (optional)
  • PSR-4 autoloading

API Reference

Complete API documentation

Constructor

$sdk = new FluxumSDK(array $options);

Methods

// Connect
$sdk->connect();
// Submit job
$sdk->submitJob(JobPayload $payload);
// Add event listener
$sdk->addEventListener(SDKEventListener $listener);
// Set options
$sdk->setOptions(array $options);
// Disconnect
$sdk->disconnect();