如何在laravel中写入blade.php文件的普通视图?

时间:2018-02-14 11:32:41

标签: php laravel laravel-blade

我是Laravel的新手我想写一些像php这样的php行:

<?php
    $uri_segment = "";
    $uri_segment1 = Request::segment(1);
    $uri_segment2 = Request::segment(2);

    $inventory_array = array('premium', 'surplus', 'purchase');
    $material_array = array('brand', 'style', 'pricegroup', 'grade', 'size');
    $product_array = array('adhesive', 'silicone', 'caulk', 'adhesivebrand');
    $suppliers_array = array('dropshipper', 'price');
?>
在blade.php文件中

,所以请帮助我,我写的是:

{{  $uri_segment = ""}}
{{ $uri_segment1 = Request::segment(1) }}
{{ $uri_segment2 = Request::segment(2) }}
{{ $inventory_array = ['premium', 'surplus', 'purchase'] }}
{{ $material_array = ['brand', 'style', 'pricegroup', 'grade', 'size'] }}
{{ $product_array = ['adhesive', 'silicone', 'caulk', 'adhesivebrand'] }}
{{ $suppliers_array = ['dropshipper', 'price'] }}
{{ $system_array = ['webstores', 'utilities'] }}

但它给出了错误 enter image description here

请指导我,谢谢!

3 个答案:

答案 0 :(得分:1)

在您的视图中使用@php指令:

  

在某些情况下,将PHP代码嵌入到视图中非常有用。您   可以使用Blade @php指令执行一个普通的PHP块   在您的模板中:

@php
    $uri_segment = "";
    $uri_segment1 = Request::segment(1);
    $uri_segment2 = Request::segment(2);

    $inventory_array = array('premium', 'surplus', 'purchase');
    $material_array = array('brand', 'style', 'pricegroup', 'grade', 'size');
    $product_array = array('adhesive', 'silicone', 'caulk', 'adhesivebrand');
    $suppliers_array = array('dropshipper', 'price');
@endphp

答案 1 :(得分:0)

您展示的代码将起作用:

<?php
    $uri_segment = "";
    $uri_segment1 = Request::segment(1);
    $uri_segment2 = Request::segment(2);

    $inventory_array = array('premium', 'surplus', 'purchase');
    $material_array = array('brand', 'style', 'pricegroup', 'grade', 'size');
    $product_array = array('adhesive', 'silicone', 'caulk', 'adhesivebrand');
    $suppliers_array = array('dropshipper', 'price');
?>

但是,您不应在Blade视图中执行此操作。您应该在控制器或服务类中移动逻辑。

{{ $inventory_array = ['premium', 'surplus', 'purchase'] }}不起作用,因为它与执行此操作相同:

echo $inventory_array = ['premium', 'surplus', 'purchase'];

答案 2 :(得分:0)

  

在某些情况下,将PHP代码嵌入到视图中非常有用。您   可以使用Blade @php指令来执行普通PHP块   在您的模板中:

@php
    // code here ..
@endphp
     

虽然Blade提供此功能,但经常使用它可能是一个信号   您的模板中嵌入了太多逻辑。   https://laravel.com/docs/5.5/blade#php