Bonjour,
J'ai une variable défini au niveau de mon AppController :
public $_var = 'abc';
J'arrive donc à la retrouver dans tous mes controllers mais je voudrais la retrouver dans ma classe Auth Personnalisé dans /Controller/Component/Auth/CustomAuthentificate.php
Si vous avez une idée, merci ;)
Dans ce cas, un simple appel à la fonction suffit:
// app/Controller/AppController.php
public $components = array('CustomAuthenticate');
public function beforeFilter(){
parent::beforeFilter();
$this->CustomAuthenticate->set($_var); // Dans ce cas $_var est un tableau
}
// app/Controller/Component/Aut/CustomAuthenticate.php
public $_var = array();
public function set($_var = array()){
$this->_var = $_var;
}
Il faut passer tes variables en paramètre lors de la création de l'instance de ton composant dans ton controller:
// app/Controller/AppController.php
public $component = array(
'Session',
'Cookie',
'CustomAuth' => array('variable' => $_var)
);
// app/Controller/Component/Auth/CustomAuthentificate.php
public $_var = array();
public function __construct(ComponentCollection $collection, $_var = array()){
$this->_var = $_var;
}
Et au cas ou, la documentation (en français) de CakePHP: Components (Composants)
Bonjour,
Oui, j'avais essayé ça mais je défini ma variable dans le beforeFilter au niveau de l'app controller du coup quand il initialise ma classe, la variable est vide ...