Splash Php-Core Documentation
Core library for building Splash Sync connectors. Provides base classes, interfaces, and field system for synchronizing data between applications.
What is Splash Sync?
Splash Sync is a universal data synchronization framework. Connectors built with this library can exchange data (Products, Orders, Customers, etc.) between any application and the Splash ecosystem.
Architecture Overview
graph LR
subgraph "Splash Cloud"
API[Splash API]
end
subgraph "Php-Core"
SP[Splash Client]
end
subgraph "Your Connector"
LC[Local Class]
OBJ[Objects]
WDG[Widgets]
end
API <-->|sync| SP
SP -->|uses| LC
LC -->|defines| OBJ
LC -->|defines| WDG
The Local Class is your connector's entry point. It provides configuration and declares which Objects and Widgets are available. The Splash Client handles all communication with the Splash API.
Connector Development Flow
flowchart LR
A[1. Install] --> B[2. Local Class]
B --> C[3. Define Objects]
C --> D[4. Define Fields]
D --> E[5. Implement CRUD]
E --> F[6. Test]
F --> G[7. Deploy]
- Install - Add
splash/phpcore via Composer
- Local Class - Implement
LocalClassInterface with credentials
- Define Objects - Create classes extending
AbstractObject
- Define Fields - Use
FieldsFactory to declare available fields
- Implement CRUD - Code
get(), set(), delete(), objectsList()
- Test - Validate with built-in test framework
- Deploy - Your connector is ready
Ecosystem
Beyond this core library, Splash provides higher-level packages for specific use cases.
| Package |
Use Case |
Links |
| Toolkit |
Core development environment (CLI or Docker). Includes everything to develop, debug, and test connectors locally. Start here. |
GitLab · Packagist |
| Php-Bundle |
Complete Symfony integration. Offers even more possibilities for Symfony-based applications. |
GitHub · Packagist |
| OpenAPI |
Connect to any REST API using OpenAPI specs. Auto-generates Objects from API schemas. |
GitLab · Packagist |
| Metadata |
Define field access directly from object properties using PHP 8 attributes. Also supports Doctrine attributes. |
GitLab · Packagist |
Documentation Map
Getting Started
| Document |
Description |
| Installation |
Install the library and requirements |
| Local Class |
Configure your connector entry point |
Building Objects
Extensions & Filters
Widgets & Helpers
Testing & Ecosystem
| Document |
Description |
| Testing |
Validate your connector |
| Ecosystem |
Related packages: php-bundle, openapi, metadata, toolkit |
Quick Reference
Key Classes
| Class |
Purpose |
Splash\Client\Splash |
Main static facade - entry point for all operations |
Splash\Models\AbstractObject |
Base class for all Objects |
Splash\Models\AbstractWidget |
Base class for all Widgets |
Splash\Components\FieldsFactory |
Fluent API for field definitions |
Key Interfaces
| Interface |
Implement When |
LocalClassInterface |
Always - your connector entry point |
ObjectInterface |
Creating sync objects (use AbstractObject instead) |
WidgetInterface |
Creating dashboard widgets (use AbstractWidget instead) |