Akses konfigurasi global di Zend Framework 2

Saya ingin mengakses konfigurasi global saya (config/{,*.}{global,local}.php) yang terletak di perpustakaan pribadi saya (di direktori vendor). Namun meskipun saya mencari di web, saya tidak berhasil mencapai hal ini.

Saya tahu cara mengakses file konfigurasi modul:

\MyModule\Module::getConfig()

Saya tahu cara mengakses konfigurasi global dari pengontrol:

$this->getServiceLocator()->get('config');

Tapi bagaimana cara mengaksesnya dari file di dalam direktori vendor? Perpustakaan saya tidak memperluas apa pun, mungkin itu akar masalahnya? Bisakah saya menggunakan metode statis untuk mengaksesnya?

Terima kasih.


person Aurelien Maigret    schedule 05.11.2013    source sumber
comment
Tidak bisakah Anda mengakses pembaca di pabrik Config melalui namespace Zend\\? Tapi bukankah vendor seharusnya dipisahkan dari pola Zend? Tidak bisakah Anda menambahkan/menimpa konfigurasi modul saja?   -  person cptnk    schedule 05.11.2013
comment
Halo, terima kasih atas komentar Anda. Memang benar, saya tidak boleh mencoba menggunakan file konfigurasi zend di direktori vendor saya.   -  person Aurelien Maigret    schedule 05.11.2013


Jawaban (2)


Anda bisa mendapatkannya melalui serviceManager. Di pengontrol:

$config = $this->getServiceLocator()->get('Config');

Jika tidak, caranya sama, hanya Anda memerlukan Manajer Layanan, misalnya di Module.php:

  public function getConfig()
  {
    return include __DIR__ . '/config/module.config.php';
  }

  public function getServiceConfig()
  {
    return array(
        'factories' => array(
            'mail.transport' =>  function($sm) {
                $config = $sm->get('Config');

                 switch($config['mail']['transport']['type']){
                ..................
person Zdenek Machek    schedule 05.11.2013

cara mudah untuk melakukan ini. tidak hanya di modul tetapi di mana saja.

$config = new \Zend\Config\Config( include APPLICATION_PATH.'/config/autoload/global.php' ); 

echo $config->myconfig;

tentukan APPLICATION_PATH di public/index.php

person Saurabh Chandra Patel    schedule 23.07.2015