我想在我的local.php文件中存储API网址。谁能告诉我如何将存储的值从local.php注入工厂/控制器?谢谢
答案 0 :(得分:3)
在您的配置中 - local.php
return [
'api' => 'http://api.test.com',
];
插入ApiUrl的控制器工厂
class IndexControllerFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator)
{
$apiUrl = $serviceLocator->getServiceLocator()->get('Config')['api'];
return new IndexController($apiUrl);
}
}
Controller从工厂接收ApiUrl和local.php:
class IndexController extends AbstractActionController
{
protected $apiUrl;
public function __construct($apiUrl)
{
$this->apiUrl = $apiUrl;
}
public function indexAction()
{
$apiUrl = $this->apiUrl;
// do stuff
// return data
}
}
答案 1 :(得分:-2)
看一下这个模块:https://github.com/Eye4web/zf2-site-config
它具有控制器和视图的便捷方法,以及可以DI的服务
此外,它可以从许多不同的文件类型中读取。