2012-01-26 6 views
8

W pliku module.config.php ustawiłem wartość dla "password_has_type". I w kontrolerze chcę uzyskać do tego dostęp. Oto mój plik module.config.php:Zend framework 2: Jak uzyskać dostęp do wartości konfiguracyjnej modułu ze sterownika

'auth' => array(
    'password_hash_type' => 'sha512', 
), 
'di' => array(
    'instance' => array(
     'alias' => array(
      'auth' => 'Auth\Controller\AuthController', 
      'auth_login_form' => 'Auth\Form\LoginForm', 
     ),... 

W controller, Użyłem

use Auth\Module 

oraz w Action metody próbuję uzyskać wartość dostępu przez

echo Module::getOption('password_hash_type'); 

ale nie mógł uzyskać żadnej wartości?

Proszę, czy ktoś może mi pomóc uzyskać tę wartość?

+0

Co powiecie na '$ auth = Module :: getOption ('auth'); echo $ auth ['password_hash_type']; '? – bububaba

+0

lub ustaw tablicę w rejestrze i znajdź ją w dowolnym miejscu – max4ever

Odpowiedz

0

Możesz to zrobić za pomocą aliasów i parametrów. Umieścić go w di->instance tablicy:

'Auth\Controller\AuthController' => array(
    'parameters' => array(
     'passwordHashType' => 'sha512' 
    ) 
), 

I to jest kontroler:

namespace Auth\Controller; 
use Zend\Mvc\Controller\ActionController; 

class AuthController extends ActionController 
{ 
    protected $passwordHashType; 

    public function indexAction() 
    { 
     echo $this->passwordHashType; 
    } 

    public function setPasswordHashType($passwordHashType) 
    { 
     $this->passwordHashType = $passwordHashType; 
     return $this; 
    } 
} 
5

proszę zobaczyć moją odpowiedź na Access to module config in Zend Framework 2.

Ale aby uczynić go bardziej beton do Twojego pytania, by to zrobić:

$config = $this->getServiceLocator()->get('Config'); 
$pwht = $config['auth']['password_hash_type']; 

Mam nadzieję, że to pomoże!

Powiązane problemy