Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
optometrists
/
cache
/
cache
/
cache
/
cache
/
.wp-cli
/
wp-content
/
plugins
/
wp-phpmyadmin-extension
/
lib
/
phpMyAdmin
/
vendor
/
symfony
/
expression-language
/
Node
:
ConstantNode.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\ExpressionLanguage\Node; use Symfony\Component\ExpressionLanguage\Compiler; /** * @author Fabien Potencier <fabien@symfony.com> * * @internal */ class ConstantNode extends Node { private $isIdentifier; public function __construct($value, bool $isIdentifier = false) { $this->isIdentifier = $isIdentifier; parent::__construct( [], ['value' => $value] ); } public function compile(Compiler $compiler) { $compiler->repr($this->attributes['value']); } public function evaluate(array $functions, array $values) { return $this->attributes['value']; } public function toArray() { $array = []; $value = $this->attributes['value']; if ($this->isIdentifier) { $array[] = $value; } elseif (true === $value) { $array[] = 'true'; } elseif (false === $value) { $array[] = 'false'; } elseif (null === $value) { $array[] = 'null'; } elseif (is_numeric($value)) { $array[] = $value; } elseif (!\is_array($value)) { $array[] = $this->dumpString($value); } elseif ($this->isHash($value)) { foreach ($value as $k => $v) { $array[] = ', '; $array[] = new self($k); $array[] = ': '; $array[] = new self($v); } $array[0] = '{'; $array[] = '}'; } else { foreach ($value as $v) { $array[] = ', '; $array[] = new self($v); } $array[0] = '['; $array[] = ']'; } return $array; } }