このクラス:HtmlStringLaravelで使用されている `HtmlString`とは何ですか?
<?php namespace Illuminate\Support; use Illuminate\Contracts\Support\Htmlable; class HtmlString implements Htmlable { /** * The HTML string. * * @var string */ protected $html; /** * Create a new HTML string instance. * * @param string $html * @return void */ public function __construct($html) { $this->html = $html; } /** * Get the HTML string. * * @return string */ public function toHtml() { return $this->html; } /** * Get the HTML string. * * @return string */ public function __toString() { return $this->toHtml(); } }
使用:
function csrf_field() { return new HtmlString('<input type="hidden" name="_token" value="'.csrf_token().'">'); }
それ何もしませんが、文字列を "構築" と文字列自体を返します!
誰でも説明できますか?ありがとうたくさん:)
もちろん、あなたがXDと言ったように使用されますが、その下のHtmlStringクラスについて興味があります。ありがとうございます。 – zjuwujunchao
'csrf_field()'が 'HtmlString'を返す方法に注目してください。ブレードでは、' {{...}} 'の代わりに '{!! ... !!} '。生の印字を覚えておく必要がなく、エスケープされないことを保証する – morph