I’m reading the Laravel Blade documentation and I can’t figure out how to assign variables inside a template for use later. I can’t do {{ $old_section = "whatever" }}
because that will echo “whatever” and I don’t want that.
I understand that I can do <?php $old_section = "whatever"; ?>
, but that’s not elegant.
Is there a better, elegant way to do that in a Blade template?
Advertisement
Answer
It is discouraged to do in a view so there is no blade tag for it. If you do want to do this in your blade view, you can either just open a php tag as you wrote it or register a new blade tag. Just an example:
<?php /** * <code> * {? $old_section = "whatever" ?} * </code> */ Blade::extend(function($value) { return preg_replace('/{?(.+)?}/', '<?php ${1} ?>', $value); });