Weave Code
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.
craftcms/url-validator
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony