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

I a*_*son 4 php laravel laravel-5 laravel-blade

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

@php
    //
@endphp
Run Code Online (Sandbox Code Playgroud)

或者你可以写,

<?php
//
?>
Run Code Online (Sandbox Code Playgroud)

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

举个例子,当我们用来展示某些东西时,我们可以使用{{ $name}}.它可以节省开发人员的时间,因为如果我们使用PHP,我们必须编写<?php echo $name; ?>.

但是,什么是写作的角度@php @endphp,而不是<?php ?>

Ana*_*mov 7

简而言之,绝对没有区别.

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

你可以在下面找到定义

照明/查看/编译/关注/ CompilesRawPhp.php

只需要在<?php ?标签之间进行表达

protected function compilePhp($expression)
    {
        if ($expression) {
            return "<?php {$expression}; ?>";
        }
        return '@php';
    }
Run Code Online (Sandbox Code Playgroud)