在 Laravel Blade 中写 @php @endphp 而不是 <?php ?> 有什么意义?
What is the point of writing @php @endphp instead of <?php ?> in Laravel Blade?
您可以在 Laravel 中编写 PHP 代码,如下所示。
@php
//
@endphp
或者你可以写,
<?php
//
?>
这两种方法有什么区别?有什么优势?
举个例子,当我们用来显示一些东西时,我们可以使用{{ $name}}
。它可以 节省开发人员时间 因为如果我们使用 PHP 我们必须编写 <?php echo $name; ?>
。
但是写@php @endphp
而不是<?php ?>
有什么意义
长短绝对没有区别。
它只是一个使 blade 视图与其他预定义指令保持一致的指令,例如 @while @if @foreach 等
您可以在
下找到定义
Illuminate/view/Compilers/Concerns/CompilesRawPhp.php
简单地说,它需要之间的表达
<?php ?
个标签
protected function compilePhp($expression)
{
if ($expression) {
return "<?php {$expression}; ?>";
}
return '@php';
}
您可以在 Laravel 中编写 PHP 代码,如下所示。
@php
//
@endphp
或者你可以写,
<?php
//
?>
这两种方法有什么区别?有什么优势?
举个例子,当我们用来显示一些东西时,我们可以使用{{ $name}}
。它可以 节省开发人员时间 因为如果我们使用 PHP 我们必须编写 <?php echo $name; ?>
。
但是写@php @endphp
而不是<?php ?>
长短绝对没有区别。
它只是一个使 blade 视图与其他预定义指令保持一致的指令,例如 @while @if @foreach 等
您可以在
下找到定义Illuminate/view/Compilers/Concerns/CompilesRawPhp.php
简单地说,它需要之间的表达
<?php ?
个标签
protected function compilePhp($expression)
{
if ($expression) {
return "<?php {$expression}; ?>";
}
return '@php';
}