/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Stdlib/BooleanUtils.php
87 строк
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2014 Adobe * All Rights Reserved. */ namespace Magento\Framework\Stdlib; /** * Utility methods for the boolean data type * * @api * @since 100.0.2 */ class BooleanUtils { /** * Expressions that mean boolean TRUE * * @var array */ private $trueValues; /** * Expressions that mean boolean FALSE * * @var array */ private $falseValues; /** * @param array $trueValues * @param array $falseValues * @codingStandardsIgnoreStart */ public function __construct( array $trueValues = [true, 1, 'true', '1'], array $falseValues = [false, 0, 'false', '0'] ) { $this->trueValues = $trueValues; $this->falseValues = $falseValues; } // @codingStandardsIgnoreEnd /** * Retrieve boolean value for an expression * * @param mixed $value Boolean expression * @return bool * @throws \InvalidArgumentException */ public function toBoolean($value) { /** * Built-in function filter_var() is not used, because such values as on/off are irrelevant in some contexts * @link http://www.php.net/manual/en/filter.filters.validate.php */ if (in_array($value, $this->trueValues, true)) { return true; } if (in_array($value, $this->falseValues, true)) { return false; } $allowedValues = array_merge($this->trueValues, $this->falseValues); throw new \InvalidArgumentException( 'Boolean value is expected, supported values: ' . var_export($allowedValues, true) ); } /** * Try to convert $value to boolean else return non processed $value * * @param mixed $value * @return mixed * @since 101.0.0 */ public function convert($value) { if (in_array($value, $this->trueValues, true)) { return true; } elseif (in_array($value, $this->falseValues, true)) { return false; } else { return $value; } } }