【发布时间】:2016-07-29 01:59:23
【问题描述】:
我一直在寻找一种方法来使用具有非 PHP 文件扩展名的 Laravel Blade 模板引擎(而不是 file_name.blade.php 能够使用 file_name.blade.js 或 file_name.blade.css)无济于事。我找到了一个post,它似乎描述了如何为 Laravel 4 做到这一点,但它似乎不再在 Laravel 5 中工作。我想这样做的原因是我有一个看起来像这样的 Javascript 文件:
//JS stuff
@foreach($Model->Values as $Value)
{{ $Value->name . " = " . $Value->content . ";"}}
@endforeach
//More JS stuff
还有一个看起来像这样的刀片/php 文件:
//Blade stuff
<script type="text/javascript">
@include('js');
</script>
这似乎是将每个值传递给 javascript 的最佳方式。即使有更好的方法将这些值传递给 javascript,这个问题背后的原因是寻找是否有一种方法可以用刀片解析非 PHP 文件,因为我认为这可能非常有用。
【问题讨论】:
-
U 有点提到这一点并且不同意,但我认为这不是最好的方法,而且我不确定您为什么要在 html 文件之外使用刀片。这样做的目的是为 html 添加更多功能,但如果你使用 js 之类的东西,你已经可以在没有刀片的情况下进行迭代
-
我认为
View::addExtension('blade.js', 'blade')也可以在 L5 中使用。方法没有改变。但请注意,您需要刀片引擎,而不是您链接到的帖子中的 html 引擎。不过,把它放在哪里是个好问题。此外,您提到您的两个文件在扩展名之前具有相同的名称 - 这也可能会搞砸。 -
优秀点@JoelHinz。将其发布为答案,因为它是正确的解决方案。
-
感谢您的确认,@Bogdan,我会的。 :)