Как я могу получить значение, которое объявлено внутри layout.blade.php файл другому blade.php.
Вот мой код, который упрощен, чтобы вы поняли:
client.blade.php
<?php
$a = '33';
?>
@extends('layouts.layout')
@section('body')
<?php
echo $b;
?>
в layout.blade.php :
<?php
echo $a;
$b = "hi";
?>
Что происходит, я могу напечатать переменную $a
в layout.php файл, но переменная $b
что объявлено внутри layout.blade.php не печатает в client.blade.php.
Как я могу сделать это доступным?
Я уверен, что вы не можете сделать это. Как работает шаблон, вы не можете отправить данные «обратно» другим способом. Вы должны объявить переменную в вашем контроллере и передать ее обоим представлениям.
Или вы должны использовать представление композитора, и иметь переменную, автоматически назначаемую при создании представления.
Вы не можете сделать это.
Вы должны использовать View::composer
как предложено или используйте View::share
метод, который позволит вам создать своего рода глобальную переменную, доступную во всех нужных вам представлениях.
Например, вы можете добавить View::share('user', Auth::user());
в вашем BaseController
и использовать $user
во всех представлениях, представленных контроллерами, которые extends
BaseController