Я использую factory method of Pimple, но каждый раз возвращается тот же экземпляр.Почему фабричный метод Pimple возвращает тот же экземпляр?
$container = new \Pimple\Container();
echo '<pre>';
$container['test'] = $container->factory(function($c) {
$services = new \Pimple\Container();
return $services;
});
// Both outputs string(32) "0000000061066681000000005c9b6294"
var_dump(spl_object_hash($container['test']));
var_dump(spl_object_hash($container['test']));
Это точное поведение, которого я не ожидаю, учитывая определение метода, в котором говорится, что он дает новый экземпляр каждый раз.
Я на PHP 7.0.4 и мой файл композитор прыщ отмечен на ^3.0.0
Обновленные версии выше. Так что действительно это могут быть либо выпуски основных версий ... Я собираюсь попробовать перейти на 2.8 на Pimple в первый раз –
@ RyanVincent вы на другой версии? Я нигде не вижу 2.8: https://github.com/silexphp/Pimple/releases –
Извините, я использую последнюю версию, так как она совместима с PHP 5.3: https://github.com/silexphp/Pimple. Вот результат тестовой программы: http://pastebin.com/Zs3879Bc –