https://github.com/putyourlightson/datastar-php
A set of PHP helper classes for working with Datastar.
https://github.com/putyourlightson/datastar-php
Last synced: 10 months ago
JSON representation
A set of PHP helper classes for working with Datastar.
- Host: GitHub
- URL: https://github.com/putyourlightson/datastar-php
- Owner: putyourlightson
- License: mit
- Created: 2024-10-15T09:57:52.000Z (over 1 year ago)
- Default Branch: develop
- Last Pushed: 2024-11-05T19:17:29.000Z (over 1 year ago)
- Last Synced: 2024-11-29T11:07:53.309Z (over 1 year ago)
- Language: PHP
- Size: 37.1 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Datastar PHP
A dependency-free set of PHP helper classes for working with [Datastar](https://data-star.dev/).
## License
This plugin is licensed for free under the MIT License.
## Requirements
This plugin requires Datastar 0.19.3 or later and PHP 8.0.0 or later.
## Installation
Install using composer or download and require the classes manually.
```shell
composer require putyourlightson/datastar-php
```
## Usage
### Datastar Event Class
```php
use putyourlightson\datastar\events\FragmentEvent;
use putyourlightson\datastar\events\SignalEvent;
use putyourlightson\datastar\events\DeleteEvent;
use putyourlightson\datastar\events\RedirectEvent;
use putyourlightson\datastar\events\ConsoleEvent;
$event = new FragmentEvent();
$event->content = '
New content';
// Optional
$event->id = 1;
$event->selector = '#secondary';
$event->merge = 'morph';
$event->settle = 100;
$event->vt = 'false';
$event = new SignalEvent();
$event->store = '{foo: "bar"}';
// Optional
$event->id = 1;
$event->onlyIfMissing = 'true';
$event = new DeleteEvent();
$event->selector = '#primary';
// Optional
$event->id = 1;
$event = new RedirectEvent();
$event->content = '/new-url';
// Optional
$event->id = 1;
$event = new ConsoleEvent();
$event->content = 'Hello world';
// Optional
$event->id = 1;
$event->mode = 'error';
// Returns the output of a Datastar event.
$output = $event->getOutput();
```
### Datastar Response Class
```php
use putyourlightson\datastar\DatastarResponse;
$response = new DatastarResponse();
// Sends Datastar events to the browser.
$response->sendEvent($event1);
$response->sendEvent($event2);
$response->sendEvent($event3);
// Ends the response and closes the connection.
$response->end();
```
---
Created by [PutYourLightsOn](https://putyourlightson.com/).