New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

olssonm/livewire-synthesizer

15
Install
composer require olssonm/livewire-synthesizer
Latest Version:v0.1
License:MIT
Last Updated:Dec 20, 2023
Links: GitHub  ·  Packagist
Maintainer: olssonm

Livewire Synthesizer

[!WARNING] In development, in no way near ready to use in production.

Simple classes when using simple objects via Livewire Synthesizers – saves some time instead of having to write custom synthesizers from scratch.

This package tries to hydrate and dehydrate all properties on the resource.

[!NOTE] Livewire already ships with synthesizers for simple objects such as collections and arrays, this package is when you need to use custom objects.

Resource

Represents your custom class/object. All you have to do is extend Olssonm\LivewireSynthesizer\Resources\GenericResource.

<?php

namespace App\Resources;

use Olssonm\LivewireSynthesizer\Resources\GenericResource;

class Post extends GenericResource
{
    //
}

Synthesizers

Your synthesizer, extend Olssonm\LivewireSynthesizer\Synthesizers\GenericSynthesizer, set a key and specify your class and your almost set.

Please note that your key has to be unique.

<?php

namespace App\Synthesizers;

use App\Resources\Post;
use Olssonm\LivewireSynthesizer\Synthesizers\GenericSynthesizer;

class Post extends GenericSynthesizer
{
    public static $key = 'post';

    public static $class = Post::class;
}

Registering your synthesizer

To enable Livewire to find and register the synthesizer you can register it in your AppServiceProvider;

use App\Support\Synthesizers\Post;
use Livewire\Livewire;

/**
 * Register any application services.
 */
public function register(): void
{
    Livewire::propertySynthesizer(Post::class);
}

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

651,963,193 9,701
laravel/framework

The Laravel Framework.

610,364,751 34,988
laravel/tinker

Powerful REPL for the Laravel framework.

518,004,183 7,444
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

435,097,283 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

407,699,310 4,663

Version History

Version Released License
v0.1 MIT