对非PHP文件使用Laravel@include指令?

对非PHP文件使用Laravel@include指令?,php,laravel,laravel-5,Php,Laravel,Laravel 5,我一直在寻找一种方法,将Laravels刀片模板引擎与非PHP文件扩展名一起使用(而不是file\u name.Blade.PHP能够使用file\u name.Blade.js或file\u name.Blade.css),但毫无效果。我发现了一个似乎描述了如何为Laravel4做到这一点,但它似乎不再适用于Laravel5。我之所以要这样做,是因为我有一个Javascript文件,看起来像这样: //JS stuff @foreach($Model->Values as $Value)

我一直在寻找一种方法,将Laravels刀片模板引擎与非PHP文件扩展名一起使用(而不是
file\u name.Blade.PHP
能够使用
file\u name.Blade.js
file\u name.Blade.css
),但毫无效果。我发现了一个似乎描述了如何为Laravel4做到这一点,但它似乎不再适用于Laravel5。我之所以要这样做,是因为我有一个Javascript文件,看起来像这样:

//JS stuff
@foreach($Model->Values as $Value)
    {{ $Value->name . " = " . $Value->content . ";"}}
@endforeach
//More JS stuff
//Blade stuff
<script type="text/javascript">
@include('js');
</script>
还有一个blade/php文件,看起来像这样:

//JS stuff
@foreach($Model->Values as $Value)
    {{ $Value->name . " = " . $Value->content . ";"}}
@endforeach
//More JS stuff
//Blade stuff
<script type="text/javascript">
@include('js');
</script>
//刀片之类的东西
@包括('js');

这似乎是将每个值传递给javascript的最好方式。即使有更好的方法将这些值传递给javascript,这个问题背后的原因是要找出是否有一种方法可以使用blade解析非PHP文件,因为我认为这可能非常有用。

我认为
视图::addExtension('blade.js','blade')
也可以在L5中工作。方法没有改变。但请注意,您需要的是blade引擎,而不是像您链接到的帖子中那样的html引擎。不过,把它放在哪里是个好问题。另外,您提到您的两个文件在扩展名之前具有相同的名称-这可能也会把它搞砸。

U有点提到了这一点,但我不认为这是最好的方法,我不确定您为什么要在html文件之外使用blade。其目的是向html添加更多功能,但是如果像js这样的东西中的ur已经可以在没有bladeI的情况下进行迭代,我认为
View::addExtension('blade.js','blade')
也可以在L5中工作。方法没有改变。但请注意,您需要的是blade引擎,而不是像您链接到的帖子中那样的html引擎。不过,把它放在哪里是个好问题。另外,您提到您的两个文件在扩展名之前具有相同的名称-这可能也会把它搞砸。非常好的一点@JoelHinz。将此作为答案发布,因为这是正确的解决方案。感谢您的确认,@Bogdan,我会的。:)只有一个文件具有唯一的名称。我使用的是blade引擎,而不是链接到的html引擎。关于
View::addExtension('blade.js','blade')
仍在工作,您可能是对的,但是在将它添加到我的BaseController之后,它似乎不起作用。我的BaseController看起来像.@C.Liddell,因为我看到您正在尝试实施旧的Laravel 4.2控制器布局方法(该方法因支持模板继承而中断),您在哪里调用该
setupLayout
方法?由于Laravel5没有将该方法作为核心控制器类的一部分,因此它不再自动为您调用该方法。@Bogdan将您的上述注释添加为答案。它就像调用
setupLayout()
方法一样简单,我误以为它是由Laravel自动调用的。谢谢你们两位,谢谢你们的帮助。去睡觉了,所以我没法回答@Bogdan,请放心接受信用卡并获得公认的答案。:)