| Current File : /home/jvzmxxx/wiki1/vendor/data-values/common/src/ValueParsers/BoolParser.php |
<?php
namespace ValueParsers;
use DataValues\BooleanValue;
/**
* ValueParser that parses the string representation of a boolean.
*
* @since 0.1
*
* @licence GNU GPL v2+
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
*/
class BoolParser extends StringValueParser {
const FORMAT_NAME = 'bool';
private static $values = array(
'yes' => true,
'on' => true,
'1' => true,
'true' => true,
'no' => false,
'off' => false,
'0' => false,
'false' => false,
);
/**
* @see StringValueParser::stringParse
*
* @param string $value
*
* @return BooleanValue
* @throws ParseException
*/
protected function stringParse( $value ) {
$rawValue = $value;
$value = strtolower( $value );
if ( array_key_exists( $value, self::$values ) ) {
return new BooleanValue( self::$values[$value] );
}
throw new ParseException( 'Not a boolean', $rawValue, self::FORMAT_NAME );
}
}