Laravel Shared Data Package

Packages

January 17th, 2020

laravel-shared-data.png

Share data from your backend in JavaScript with Laravel Shared Data by Coderello. The API for this package is simple:

// Facade
SharedData::put([
    'post' => Post::first(),
    'app' => [
        'name' => config('app.name'),
        'environment' => config('app.env'),
    ],
]);

// Helper
share([
    'post' => Post::first(),
    'app' => [
        'name' => config('app.name'),
        'environment' => config('app.env'),
    ],
]);

Which outputs data to JavaScript:

window.sharedData = {
    post: {
        content: "...",
        created_at: "...",
        // ...
    },
    app: { /* ... */ }
}

To output the configured JavaScript, add the @shared directive to your views:

<html>
<head>
  @shared
</head>
</html>

If you want to configure the JavaScript object, you can publish and change the configuration:

<?php

return ['js_namespace' => 'myCustomObjectName'];

This package has documentation available to help you get started, and you can view the source code on GitHub at coderello/laravel-shared-data.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.