ronasit/shared-data

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Provided middleware for implementing of shared data for all views.

0.0.1 2018-06-25 04:05 UTC

This package is auto-updated.

Last update: 2021-10-22 14:57:37 UTC


README

Данный плагин является плагином для флеймворка Laravel и нужен для того, чтоб обеспечить доступ из blade-темплейтов вашего приложения доступ к общим глобальным переменным, которые вы сами можете определить.

Для того, чтоб интегрировать плагин в ваш проект требуется

  1. Добавить его в композер
    а. В блок required добавить сам плагин
    "ronasit/shared-data": "master-dev"
    б. Выполнить в консоли в папке проекта
    composer update

  2. Интегрировать плагин в проект Laravel
    а. Добавить сервис-провайдер в блок prividers файла config/app.php
    RonasIT\Support\SharedData\SharedDataServiceProvider::class
    б. Выполнить в консоли команду
    php artisan vandor:publish
    в. Добавить SharedDataMiddleware::class в файл app/Http/Kernel.php
    Вы можете добавить его ко всем роутам или только для определенных.
    Я рекомендую добавлять его в переменную $routeMiddleware
    'shared-data' => SharedDataMiddleware::class
    И потом прописывать его как middleware для конкретных групп роутов.

    Например:  
     Route::group(['middleware' => ['shared-data']], function() {  
         Route::get('/', ['uses' => 'HomeController@index']);  
         ......  
     });    
    
  3. Сконфигурировать плагин.
    а. В папке app/Services должен появиться файл SharedDataService.
    требуется заменить у него namespace на тот, который используется в вашем
    проекте, чтоб избежать конфликта имён.
    namespace App\Services;
    В методе getData() этого класса вы
    можете определить какие данные будут видны во всех темплейтах.
    б. В файле config/shared-data.php требуется добавить имя вашего сервиса
    'service' => App\Services\SharedDataService::class

Теперь если в методе getData() вы вернёте массив например такой
public function getData() {
return [
'variable' => 123
];
}

То в темплейте вы можете её вставить просто через {{ $variable }}