Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Phpcore Laravel Package

splash/phpcore

View on GitHub
Deep Wiki
Context7

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]
  1. Install - Add splash/phpcore via Composer
  2. Local Class - Implement LocalClassInterface with credentials
  3. Define Objects - Create classes extending AbstractObject
  4. Define Fields - Use FieldsFactory to declare available fields
  5. Implement CRUD - Code get(), set(), delete(), objectsList()
  6. Test - Validate with built-in test framework
  7. 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

Document Description
Objects Overview What are Objects and how they work
Defining Fields Create field definitions with FieldsFactory
Complex Fields Price, Image, File, ObjectId fields
CRUD Operations Implement get, set, delete, objectsList
List Fields Handle array/collection fields
Advanced Patterns IntelParserTrait, optimization

Extensions & Filters

Document Description
Extensions & Filters Extend objects, filter synchronization

Widgets & Helpers

Document Description
Widgets Build dashboard widgets
Helpers Reference PricesHelper, ObjectsHelper, DatesHelper, etc.

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)
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel