当前位置: 首页 > 知识库问答 >
问题:

“HtmlString”在Laravel中的作用是什么?

百里鸿祯
2023-03-14

此类: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().'">');
    }

它只是“构造”一个字符串并返回字符串本身!

有人能解释一下吗?非常感谢:)

共有2个答案

余弘新
2023-03-14

如果我理解得好,你想在一个中使用它。blade.php文件?使用

{{csrf_field()}}
苏志
2023-03-14

由于它实现了一个接口(Htmlable),其他方法可能会检查给定的字符串是否应被视为HTML。

它没有太多的使用,但例如在illumb/Support/helpers.php:519

if (! function_exists('e')) {
    /**
     * Escape HTML special characters in a string.
     *
     * @param  \Illuminate\Contracts\Support\Htmlable|string  $value
     * @return string
     */
    function e($value)
    {
        if ($value instanceof Htmlable) {
            return $value->toHtml();
        }

        return htmlspecialchars($value, ENT_QUOTES, 'UTF-8', false);
    }
}

在这里,您可以看到,如果$value粘贴到Htmlable界面,就可以立即打印它。否则,字符串将以转义形式打印。

 类似资料:
  • 问题内容: Mocha官方站点上的文档包含以下示例: 我想知道什么时候应该将测试嵌套在函数中以及其基本目的是什么。我可以比较传递给编程语言的注释的第一个参数吗?控制台的输出中未显示任何内容。是仅出于可读性目的,还是该功能还有其他用途? 如果我这样使用,有什么问题吗? 如果我这样做,则测试仍会通过。 问题答案: 该调用会标识每个测试,但其本身不会告诉Mocha任何有关测试套件 结构的信息 。调用的使

  • 本文向大家介绍ZooKeeper在Kafka中的作用是什么?相关面试题,主要包含被问及ZooKeeper在Kafka中的作用是什么?时的应答技巧和注意事项,需要的朋友参考一下 答:Apache Kafka是一个使用Zookeeper构建的分布式系统。虽然,Zookeeper的主要作用是在集群中的不同节点之间建立协调。但是,如果任何节点失败,我们还使用Zookeeper从先前提交的偏移量中恢复,因为

  • 我开始学习现代OpenGL,正如标题所说,我只是想确定VAO在渲染管道中的用途。 在渲染时,我们使用VBO存储数据,然后我们使用OpenGL函数,比如:glAttribe告诉GPU我们将“以那种方式”使用这些数据,比如:我们通过VBO的顶点中的前3个浮动实际上是位置,接下来的3个浮动是颜色等等...然后我读到,我们需要一些VAO来存储顶点的描述,但这里的目标是什么? 提前谢了。

  • 问题内容: 我试图了解TimeDistributed包装器在Keras中的作用。 我得到了TimeDistributed“将层应用于输入的每个时间片”。 但是我做了一些实验,却得到了我无法理解的结果。 简而言之,对于LSTM层,TimeDistributed和Just Dense层的结果相同。 对于这两个模型,我得到的输出形状为 (None,10,1) 。 在RNN层之后,谁能解释TimeDist

  • 我正在试图理解Keras中扁平化功能的作用。下面是我的代码,这是一个简单的两层网络。它接收形状(3,2)的二维数据,输出形状(1,4)的一维数据: 这将打印出y具有形状(1,4)。但是,如果我删除展平线,则它会打印出y具有形状(1、3、4)。 我不明白这一点。根据我对神经网络的理解,这个模型。add(Dense(16,input\u shape=(3,2)))函数正在创建一个具有16个节点的隐藏完

  • 据我所知,封装对外部人员隐藏了您的数据成员,并且只允许它使用相同类的方法访问。因此他们无法向外部人员显示您的个人数据。遵循这是真的, 在这里,您的金额变量不会与使用private的外部用户共享,他们也不知道您使用的变量名称。 但在类似的情况下,我们还提供了访问它们的getter/setter,那么封装如何能够从外部安全地进行呢? 这意味着getter或setter方法很可能具有相同的模式,而局外人