如何在zf2 local.php

时间:2016-12-15 13:31:45

标签: php zend-framework zend-framework2

我想在我的local.php文件中存储API网址。谁能告诉我如何将存储的值从local.php注入工厂/控制器?谢谢

2 个答案:

答案 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的服务 此外,它可以从许多不同的文件类型中读取。