Fix the BC layer for indexable callbacks

Using services was not based on a @ prefix in the string in the old API
but based on the existence of the class.
This commit is contained in:
Christophe Coevoet 2014-12-23 15:19:52 +01:00
parent 97848ca0d0
commit eaa32cbf22

View file

@ -199,7 +199,17 @@ class Configuration implements ConfigurationInterface
isset($v['persistence']['listener']['is_indexable_callback']);
})
->then(function ($v) {
$v['indexable_callback'] = $v['persistence']['listener']['is_indexable_callback'];
$callback = $v['persistence']['listener']['is_indexable_callback'];
if (is_array($callback)) {
list($class) = $callback + array(null);
if (is_string($class) && !class_exists($class)) {
$callback[0] = '@'.$class;
}
}
$v['indexable_callback'] = $callback;
unset($v['persistence']['listener']['is_indexable_callback']);
return $v;