【问题标题】:how to write normal view to blade.php file in laravel?如何在laravel中将普通视图写入blade.php文件?
【发布时间】:2018-02-14 19:36:55
【问题描述】:

我是 Laravel 的新手,我想写一些 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'] }}

但它给出了错误

请指导我,谢谢!

【问题讨论】:

    标签: php laravel laravel-blade


    【解决方案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
    

    【讨论】:

    • 我正在做与此代码相同的事情,例如: 但给出错误?我该如何解决?谢谢先生。
    • @Naik 此缓存存储不支持标记。 (查看:/var/www/work/surface/resources/views/user-partials/leftmenu.blade.php)
    • @Naik {{ $uri_segment == "users" ? "active" : "" }} at_symbol php 使用 App\Libraries\Commonlibrary; $menu_list_view = Commonlibrary::sidebar_menu_list(); at_symbol endphp {{ $menu_list_view }} 我是这样写的。
    • @NeerajPrajapati 这意味着您正在尝试为缓存设置标签,而您使用的缓存驱动程序不支持标签
    • @Nike 那我应该怎么做?
    【解决方案2】:

    您显示的代码将起作用:

    <?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'];
    

    【讨论】:

      【解决方案3】:

      在某些情况下,将 PHP 代码嵌入到视图中很有用。你 可以使用 Blade @php 指令执行一段纯 PHP 在您的模板中:

      @php
          // code here ..
      @endphp
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-09
        • 1970-01-01
        • 1970-01-01
        • 2018-04-13
        • 1970-01-01
        • 2017-02-08
        • 2019-06-10
        • 2014-03-25
        相关资源
        最近更新 更多