for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace drupol\htmltag;
/**
* Class AbstractBaseHtmlTagObject
*/
abstract class AbstractBaseHtmlTagObject
{
* Normalize a value.
*
* @param mixed $values
* The value to normalize.
* @return array
* The value normalized.
public function normalizeValue($values)
$values = array_map(
array($this, 'ensureArray'),
$this->ensureFlatArray((array) $values)
);
return array_reduce(
$values,
'array_merge',
[]
}
* Todo.
* @param array $arr
* @return mixed[]
public function ensureFlatArray(array $arr)
$arr,
function ($c, $a) {
return is_array($a) ?
array_merge($c, $this->ensureFlatArray($a)) :
array_merge($c, [$a]);
},
* @param mixed $value
public function ensureArray($value)
switch (gettype($value)) {
case 'string':
$return = explode(' ', $value);
break;
case 'array':
case 'double':
case 'integer':
$return = array((string) $value);
case 'object':
$return = array();
if (method_exists($value, '__toString')) {
case 'boolean':
case 'resource':
case 'NULL':
default:
return $return;