2016-05-20 56 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; 
    } 

更新:

因爲我不清楚,讓我們再次嘗試。

你可以從github上看到後,爲了消除有關不推薦類的消息,你需要創建一個文件config/autoload/zend-form.global.php與內容:

<?php 
use Zend\Form\ConfigProvider; 

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

這樣做,就不再需要添加zend-從您正在創建的工廠內將服務管理器配置窗體視圖幫助程序配置。
義線

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

不再需要。

此外,方法的HelperPluginManagersetServiceLocator已經過時,所以你改變這兩條線路:

$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