private function hydrates(ExpressionLanguage $language)
{
$language->register('count', function ($value) {
return sprintf('(is_array(%1$s) ? sizeof(%1$s) : 0)', $value);
}, function ($arguments, $value) {
if (!is_array($value)) {
return 0;
}
return sizeof($value);
});
$language->register('isMagicMethod', function ($value) {
return sprintf('(strpos(%1$s, "__") === 0 ', $value);
}, function ($arguments, $value) {
if (!$value instanceof ReflectedMethod) {
return false;
}
return strpos($value->getName(), "__") === 0;
});
}