在Laravel Blade中编写@php @endphp而不是<! - ?php? - >有什么意义?

时间:2017-09-15 06:59:53

标签: php laravel laravel-5 laravel-blade

您可以在Laravel中编写如下所示的PHP代码。

@php
    //
@endphp

或者你可以写,

<?php
//
?>

两种方法有什么区别?有什么好处?

有关我们用来展示某些内容的示例,我们可以使用{{ $name}}。它可以节省开发人员时间,因为如果我们使用PHP,我们必须编写<?php echo $name; ?>

但是写@php @endphp而不是<?php ?>

的重点是什么

1 个答案:

答案 0 :(得分:7)

短期内,绝对存在 no 差异。

它只是一个保护刀片视图与其他预定义指令一致的指令,例如 @while @if @foreach 等。

您可以在

下找到定义
  

照亮/视图/编译器/问题/ CompilesRawPhp.php

只需要在两者之间进行表达 <?php ?代码

protected function compilePhp($expression)
    {
        if ($expression) {
            return "<?php {$expression}; ?>";
        }
        return '@php';
    }