2012-01-26 25 views
8

En el archivo module.config.php, he establecido el valor para 'password_has_type'. Y en el controlador quiero acceder a eso. Aquí está mi archivo module.config.php:Zend framework 2: Cómo accedo a los valores de configuración de los módulos desde un controlador

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

En controller, he utilizado

use Auth\Module 

y en Action método que intenta conseguir el acceso de valor

echo Module::getOption('password_hash_type'); 

Pero no pudo obtener ningún valor?

Entonces, ¿alguien puede ayudarme a obtener ese valor?

+0

¿Qué tal '' auth = Module :: getOption ('auth'); echo $ auth ['password_hash_type']; '? – bububaba

+0

o configure la matriz en el registro y llévela a cualquier parte – max4ever

Respuesta

0

Puede hacerlo con la ayuda de alias y parámetros. Ponerlo en di->instance matriz:

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

Y es su controlador:

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

favor ver mi respuesta a Access to module config in Zend Framework 2.

Pero para que sea más concreta a su pregunta, usted podría hacer esto:

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

espero que esto ayude!

Cuestiones relacionadas