<?php
namespace Sabberworm\CSS\Value;
< abstract class ValueList extends Value {
> use Sabberworm\CSS\OutputFormat;
> abstract class ValueList extends Value
protected $aComponents;
> {
protected $sSeparator;
> /**
> * @var array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string>
public function __construct($aComponents = array(), $sSeparator = ',', $iLineNo = 0) {
> */
parent::__construct($iLineNo);
>
if (!is_array($aComponents)) {
> /**
$aComponents = array($aComponents);
> * @var string
}
> */
< public function __construct($aComponents = array(), $sSeparator = ',', $iLineNo = 0) {
> /**
> * phpcs:ignore Generic.Files.LineLength
> * @param array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string>|RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string $aComponents
> * @param string $sSeparator
> * @param int $iLineNo
> */
> public function __construct($aComponents = [], $sSeparator = ',', $iLineNo = 0)
> {
< $aComponents = array($aComponents);
> $aComponents = [$aComponents];
}
< public function addListComponent($mComponent) {
> /**
> * @param RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string $mComponent
> *
> * @return void
> */
> public function addListComponent($mComponent)
> {
$this->aComponents[] = $mComponent;
}
< public function getListComponents() {
> /**
> * @return array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string>
> */
> public function getListComponents()
> {
return $this->aComponents;
}
< public function setListComponents($aComponents) {
> /**
> * @param array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string> $aComponents
> *
> * @return void
> */
> public function setListComponents(array $aComponents)
> {
$this->aComponents = $aComponents;
}
< public function getListSeparator() {
> /**
> * @return string
> */
> public function getListSeparator()
> {
return $this->sSeparator;
}
< public function setListSeparator($sSeparator) {
> /**
> * @param string $sSeparator
> *
> * @return void
> */
> public function setListSeparator($sSeparator)
> {
$this->sSeparator = $sSeparator;
}
< public function __toString() {
< return $this->render(new \Sabberworm\CSS\OutputFormat());
< }
<
< public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) {
< return $oOutputFormat->implode($oOutputFormat->spaceBeforeListArgumentSeparator($this->sSeparator) . $this->sSeparator . $oOutputFormat->spaceAfterListArgumentSeparator($this->sSeparator), $this->aComponents);
> /**
> * @return string
> */
> public function __toString()
> {
> return $this->render(new OutputFormat());
> }
>
> /**
> * @return string
> */
> public function render(OutputFormat $oOutputFormat)
> {
> return $oOutputFormat->implode(
> $oOutputFormat->spaceBeforeListArgumentSeparator($this->sSeparator) . $this->sSeparator
> . $oOutputFormat->spaceAfterListArgumentSeparator($this->sSeparator),
> $this->aComponents
> );
}
<
}