如何在 zf2 local.php 中存储 api url

How to store api url in zf2 local.php

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

在您的配置中 - 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);
    }
}

控制器从工厂接收 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
    }
}

看看这个模块:https://github.com/Eye4web/zf2-site-config
它具有用于控制器和视图的便捷方法,以及您可以 DI 的服务。
此外,它可以读取许多不同的文件类型。