0 follower

Trait Yiisoft\Form\Field\Base\FieldContentTrait

Implemented byYiisoft\Form\Field\Base\ButtonField, Yiisoft\Form\Field\Button, Yiisoft\Form\Field\Fieldset, Yiisoft\Form\Field\ResetButton, Yiisoft\Form\Field\SubmitButton

Adds functionality for processing with field content.

Protected Methods

Hide inherited methods

Method Description Defined By
renderContent() Yiisoft\Form\Field\Base\FieldContentTrait

Method Details

Hide inherited methods

addContent() public method

public Yiisoft\Form\Field\Base\FieldContentTrait addContent ( string|\Stringable $content )
$content string|\Stringable

Field content.

                final public function addContent(string|Stringable ...$content): static
{
    $new = clone $this;
    $new->content = array_merge($new->content, array_values($content));
    return $new;
}

            
content() public method

public Yiisoft\Form\Field\Base\FieldContentTrait content ( string|\Stringable $content )
$content string|\Stringable

Field content.

                final public function content(string|Stringable ...$content): static
{
    $new = clone $this;
    $new->content = $content;
    return $new;
}

            
doubleEncodeContent() public method

public Yiisoft\Form\Field\Base\FieldContentTrait doubleEncodeContent ( boolean $doubleEncode )
$doubleEncode boolean

Whether already encoded HTML entities in field content should be encoded. Defaults to true.

                final public function doubleEncodeContent(bool $doubleEncode): static
{
    $new = clone $this;
    $new->doubleEncodeContent = $doubleEncode;
    return $new;
}

            
encodeContent() public method

public Yiisoft\Form\Field\Base\FieldContentTrait encodeContent ( boolean|null $encode )
$encode boolean|null

Whether to encode field content. Supported values:

  • null: stringable objects that implement interface {@see \Yiisoft\Html\NoEncodeStringableInterface} are not encoded, everything else is encoded;
  • true: any content is encoded;
  • false: nothing is encoded. Defaults to null.

                final public function encodeContent(?bool $encode): static
{
    $new = clone $this;
    $new->encodeContent = $encode;
    return $new;
}

            
renderContent() protected method

protected string renderContent ( )
return string

Obtain field content considering encoding options {@see \Yiisoft\Form\Field\Base\encodeContent()}.

                final protected function renderContent(): string
{
    $content = '';
    foreach ($this->content as $item) {
        if ($this->encodeContent || ($this->encodeContent === null && !($item instanceof NoEncodeStringableInterface))) {
            $item = Html::encode($item, $this->doubleEncodeContent);
        }
        $content .= $item;
    }
    return $content;
}