Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | CRAP | |
100.00% |
29 / 29 |
||||||
isNumber($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
1 / 1 |
|||
isBoolean($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
1 / 1 |
|||
isNull($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
1 / 1 |
|||
isObject($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
1 / 1 |
|||
isFunction($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
1 / 1 |
|||
isExpression($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
3 / 3 |
|||
isString($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
1 / 1 |
|||
isResource($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
1 / 1 |
|||
isArray($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
1 / 1 |
|||
getType($variable) | |
100.00% |
1 / 1 |
0 | |
100.00% |
18 / 18 |
<?php | |
namespace TypedPHP\Functions\TypeFunctions; | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isNumber($variable) | |
{ | |
return is_integer($variable) or is_float($variable); | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isBoolean($variable) | |
{ | |
return is_bool($variable); | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isNull($variable) | |
{ | |
return is_null($variable); | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isObject($variable) | |
{ | |
return is_object($variable) and !isFunction($variable); | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isFunction($variable) | |
{ | |
return is_callable($variable) and is_object($variable); | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isExpression($variable) | |
{ | |
$isNotFalse = @preg_match($variable, "") !== false; | |
$hasNoError = preg_last_error() === PREG_NO_ERROR; | |
return $isNotFalse and $hasNoError; | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isString($variable) | |
{ | |
return is_string($variable) and !isExpression($variable); | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isResource($variable) | |
{ | |
return is_resource($variable); | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return bool | |
*/ | |
function isArray($variable) | |
{ | |
return is_array($variable); | |
} | |
/** | |
* @param mixed $variable | |
* | |
* @return string | |
*/ | |
function getType($variable) | |
{ | |
$functions = [ | |
"isNumber" => "number", | |
"isBoolean" => "boolean", | |
"isNull" => "null", | |
"isObject" => "object", | |
"isFunction" => "function", | |
"isExpression" => "expression", | |
"isString" => "string", | |
"isResource" => "resource", | |
"isArray" => "array" | |
]; | |
$result = "unknown"; | |
foreach ($functions as $function => $type) { | |
$namespace = "TypedPHP\\Functions\\TypeFunctions\\"; | |
$function = $namespace . $function; | |
if ($function($variable)) { | |
$result = $type; | |
break; | |
} | |
} | |
return $result; | |
} |