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:
JavaScript
x
<?php
/**
* <code>
* {? $old_section = "whatever" ?}
* </code>
*/
Blade::extend(function($value) {
return preg_replace('/{?(.+)?}/', '<?php ${1} ?>', $value);
});