У меня есть что-то странное, что я не понимаю ..
Я обдумал это, чтобы попытаться выяснить, что не так, но .. ну, я не понимаю ..
<?php
$x = "Type1";
var_dump($x);
?>
{{$x}}
Я объявил переменную в PHP и выгрузил ее, чтобы убедиться, что она назначена (я получаю правильное значение). Но когда я пытаюсь выдать эту переменную с помощью лезвия … я ничего не получаю, она говорит мне, что переменная не определена ..
Я тупой или что-то упустил?
Помощь будет оценена ..
РЕДАКТИРОВАТЬ:
Поэтому, поговорив с Абдулкарием Мохаммедом, я попытался еще больше заглушить его и остался с тем, что у меня было выше, поэтому я заметил, что проблема, так или иначе, связана с тем, что этот код включен на другой странице.
@include('Customer.cust_sections')
Замена тега include на приведенный выше код работает, даже если они должны быть эквивалентны (по крайней мере, на мой взгляд)
РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ:
Оказывается … Я был просто идиотом, который забыл «.blade» в имени файла .. 2 часа моей жизни идут на 6 букв ..
Прежде всего, проверьте расширение вашего блейд-файла.
он должен иметь ваше имя файла.blade.php.
ты скучаешь .blade?
Чтобы назначить переменную шаблону блейда, вы должны определить ее в шаблоне блейда следующим образом:
{{ $x = "test" }}
{{ $x }}
Или вам нужно определить его в вашем контроллере, а затем передать его в представление
$x = "test";
return $response->view('my-blade-template', [
'x' => $x,
]);
Я бы порекомендовал хранить как можно больше вашей логики и назначения переменных в контроллере!
Еще один трюк использует @php
в шаблоне лезвия. Итак, ваш код будет:
@php
$x = "Type1";
//var_dump($x);
@endphp
{{ $x }}
Я пробовал это в одном шаблоне блейда, он передает переменную, но не работает на другом. Я тоже в замешательстве.
Это должно бежать. Я попытался скопировать ваш код, чтобы проверить это.
Пожалуйста, покажите широкий документ, чтобы увидеть, есть ли что-то еще, что создает проблему.