2016-05-20 16 views

ответ

1

Взгляните на эту https://github.com/zendframework/zend-expressive/issues/335

Вот как моя фабрика выглядит следующим образом:

public function __invoke(ContainerInterface $container) 
    { 
     $config = $container->has('config') ? $container->get('config') : []; 
     $config = isset($config['view_helpers']) ? $config['view_helpers'] : []; 
     $manager = new HelperPluginManager($container, $config); 

     return $manager; 
    } 

Update:

Так как я не ясно, давайте попробуем это снова.

Как видно из поста на GitHub, чтобы удалить сообщение об устаревшем классе необходимо создать файл config/autoload/zend-form.global.php с содержимым:

<?php 
use Zend\Form\ConfigProvider; 

$provider = new ConfigProvider(); 
return $provider(); 

Это устраняет необходимость добавления zend- form view helper configuration для менеджера сервисов на фабрике, которую вы создаете. не
Значение строки

$formConfig = new FormHelperConfig(); 
$formConfig->configureServiceManager($manager); 

больше не нужны.

Кроме того, метод setServiceLocator из HelperPluginManager устарела, так что вы изменить эти две строки:

$manager = new HelperPluginManager(new Config($config)); 
$manager->setServiceLocator($container); 

в одной строке:

$manager = new HelperPluginManager($container, $config); 

В результате ваш __invoke функции будет выглядеть следующим образом:

public function __invoke(ContainerInterface $container) 
{ 
    $config = $container->has('config') ? $container->get('config') : []; 
    $config = isset($config['view_helpers']) ? $config['view_helpers'] : []; 
    $manager = new HelperPluginManager($container, $config); 

    return $manager; 
} 

Вы используете помощники просмотра внутри себя r. Here вы можете найти список всех помощников вида zend-form вместе с примерами.

Я надеюсь, что это сделало вещь более понятной, потому что я сосать объяснение вещей.

+0

Как это ответить на вопрос? Можете быть более конкретными? –

+0

Просьба предоставить подробную конфигурационную структуру? – Drakulitka

+0

Я использую 'AbstractActionFactory', как его реализовать. [https://xtreamwayz.com/blog/2015-12-30-psr7-abstract-action-factory-one-for-all] – Drakulitka