57
задан 1 February 2018 в 21:41

3 ответа

и можно дать массив не всего View::share('key', 'value'); , может поместить массив как View::share(['key'=>'value','key'=>'value'])

0
ответ дан 1 November 2019 в 16:08

Я использовал бы промежуточное программное обеспечение с view() помощник фасада. (Laravel 5.x)

Промежуточное программное обеспечение легче поддержать и не делает путаницу в дереве класса контроллеров.

Шаги

Создают Промежуточное программное обеспечение

/app/Http/Middleware/TimezoneReset.php

Для создания промежуточного программного обеспечения, которое можно выполнить php artisan make:middleware GlobalTimeConfig

share() данные, в которых Вы нуждаетесь совместно использованный

 <?php

    namespace App\Http\Middleware;

    use Closure;

    class GlobalTimeConfig
    {
        /**
         * Handle an incoming request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure  $next
         * @return mixed
         */
        public function handle($request, Closure $next)
        {
            $time_settings = [
                'company_timezone' => 'UTC',
                'company_date_format' => 'Y-m-d H:i:s',
                'display_time' => true,
            ];

            view()->share('time_settings', $time_settings);

            return $next($request);
        }
    }

Регистр, недавно созданное промежуточное программное обеспечение

Добавляет промежуточное программное обеспечение к Вашей группе маршрутов промежуточного программного обеспечения согласно примеру ниже

, данные/app/http/kernel.php

    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\GlobalTimeConfig::class,
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

Доступа из шаблонов

Получают доступ к данным из любого шаблона с данным ключом в Представлении:: доля () вызов метода

, например:

    Company timezone: {{ $time_settings['company_timezone'] }}

РЕДАКТИРОВАНИЕ : ответ Поставщика услуг Nic Gutierrez мог бы быть лучшим (или лучшее) решение.

0
ответ дан 1 November 2019 в 16:08

Можно добавить в Controller.php файл:

use App\Category;

И затем:

class Controller extends BaseController {
     public function __construct() {
        $categories = Category::All();
        \View::share('categories', $categories);
     }
}
-2
ответ дан 1 November 2019 в 16:08

Другие вопросы по тегам:

Похожие вопросы: