我有一個控制器Controller\Api\ProductController
休息呼叫,它在module.config.php
如何注入和使用插件在Zend框架3
'controllers' => [
'factories' => [
Controller\Api\ProductController::class => function($container) {
return new Controller\Api\ProductController(
$container->get(\Commerce\Model\Product::class), $container->get(\Commerce\Controller\Plugin\ProductPlugin::class)
);
}
]
]
定義在上面的代碼,你可以看到我注射插件類\Commerce\Controller\Plugin\ProductPlugin::class
這在module.config.php
'controller_plugins' => [
'factories' => [
Controller\Plugin\ProductPlugin::class => InvokableFactory::class,
],
'aliases' => [
'product' => Controller\Plugin\ProductPlugin::class,
]
]
定義現在,當我打的REST URL它顯示錯誤消息
無法將服務「Commerce \ Controller \ Plugin \ ProductPlugin」解析爲 工廠;你確定你在配置期間提供了它嗎?
我失蹤了什麼?
插件代碼是
<?php
namespace Commerce\Controller\Plugin;
use Zend\Mvc\Controller\Plugin\AbstractPlugin;
class ProductPlugin extends AbstractPlugin
{
//....
}
你'控制器\插件\ ProductPlugin'和您的命名空間是'商務部\控制器\ Plugin' +級'ProductPlugin' – Edwin
@Edwin我試過'\商務部\控制器\插件\ ProductPlugin ::類'也在工廠裏。同樣的錯誤。 – amitshree