我@在 Blade 模板中遇到过几次这个符号。它在 laravel 刀片中有什么作用?示例如下所示。
@method('DELETE') @CRSF @foreach @endforeach
我@在 Blade 模板中遇到过几次这个符号。它在 laravel 刀片中有什么作用?示例如下所示。
@method('DELETE') @CRSF @foreach @endforeach
我知道你在问 Blade,但这不在问题中,评论是短暂的。此外,其他读者可能会发现这是在寻找 docblocks@是什么。
/**在以类或函数开头的注释中,@符号表示对 Doxygen 或 PHPDoc 等文档工具的指令(我想,我没有使用过那个)。那里的常见指令包括@param, @return, @see, @seealso, @TODO, @link. 一个例子是
/**
* Function to do thing.
* @param int $foo A variable used in the function for reasons.
* @return A result of the thing done.
* @seealso Bar::fubar()
**/
正如其他答案中提到的,该@符号是刀片“命令”的前缀,称为指令。您具体询问的两个是 Laravel 内置的。您正在查看的那些可能是内置的,但您可以添加指令来为您经常做/打印的事情制作自己的指令。
@method('DELETE')- RESTful 标准定义不属于实际 HTTP(S) 标准的请求方法 PATCH 和 DELETE。为了模拟这些不受支持的方法,在 Laravel 表单中的表单中添加了一个隐藏字段,以告诉 HTTP 内核请求方法是什么,以匹配用于路由目的的方法。类似的事情也是如此@method('DELETE')(不是exacatly,但你明白了):
echo '<input type="hidden" name="method" value="DELETE" />';
@csrf以前@csrf_field是使用 CSRF 令牌获取隐藏输入的命令。也有一个只获取令牌@csrf_token——这对 ajax 请求很有用。@csrf 做了类似的事情(但不完全是):
echo '<input type="hidden" name="_token" value="' . {$csrf_token() . '" />';
CSRF 令牌是“nonce”(仅使用一次的数字),有助于防止Cross Site Request Forgery。
在storage/framework/views/.
它不是一个可以“翻译”成 PHP 的命令。@只是一个符号,或者更多是刀片相关关键字的前缀。
所以这个刀片的结果:
@foreach($users as $user)
<li>{{ $user->name }}</li>
@endforeach
将等于这个普通的 PHP:
foreach($users as $user) {
echo "<li>{$user->name}</li>";
}
这意味着您正在使用 Blade 指令。这些是 Laravel 模板引擎的功能。