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 addContent( string|\Stringable $content ): Yiisoft\Form\Field\Base\FieldContentTrait
$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 content( string|\Stringable $content ): Yiisoft\Form\Field\Base\FieldContentTrait
$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 doubleEncodeContent( boolean $doubleEncode ): Yiisoft\Form\Field\Base\FieldContentTrait
$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 encodeContent( boolean|null $encode ): Yiisoft\Form\Field\Base\FieldContentTrait
$encode boolean|null

Whether to encode field content. Supported values:

  • null: stringable objects that implement interface \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 renderContent( ): string
return string

Obtain field content considering encoding options 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;
}