web-dev-qa-db-fra.com

CodeIgniter - accès à la variable $ config dans la vue

Assez souvent, j'ai besoin d'accéder à des variables $config Dans des vues. Je sais que je peux les passer du contrôleur à load->view(). Mais il semble excessif de le faire explicitement.

Existe-t-il un moyen ou une astuce pour accéder à la variable $config À partir de vues CI sans perturber les contrôleurs avec du code de secours?

96
AlexA

$this->config->item() fonctionne bien.

Par exemple, si le fichier de configuration contient $config['foo'] = 'bar';, Alors $this->config->item('foo') == 'bar'

187
Phil Sturgeon

De plus, la fonction commune config_item() fonctionne un peu partout dans l'occurrence de CodeIgniter. Contrôleurs, modèles, vues, bibliothèques, aides, points d'ancrage, peu importe.

27
Phil Sturgeon

Vous pouvez faire quelque chose comme ça:

$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');
15
Alexey Shein

$this->config->item('config_var') n'a pas fonctionné pour mon cas.

Je ne pouvais utiliser que la config_item('config_var'); pour faire écho à des variables dans la vue

8
user1002232

Votre contrôleur doit collecter toutes les informations des bases de données, des configurations, etc. Il y a de nombreuses bonnes raisons de s'en tenir à cela. Une des bonnes raisons est que cela vous permettra de changer facilement la source de cette information sans avoir à modifier votre point de vue.

4
Utah_Dave

Chaque fois que j'ai besoin d'accéder à des variables de configuration, j'ai tendance à utiliser: $ this-> config-> config ['nom_variable'];

2
The website-lab
echo $this->config->config['ur config file'] 

Si votre fichier de configuration vient également à l'image, vous devez accéder comme ceci, par exemple, j'inclus un fichier app.php dans le dossier de configuration, j'ai une variable

$config['50001'] = "your  message"   

Maintenant, je veux accéder à mon contrôleur ou à mon modèle.

Essayez de suivre deux cas, il faut travailler

case1:

$msg = $this->config->item('ur config file');

echo $msg['50001'];    //out put:  "your message";

case2:

 $msg = $this->config->item('50001');

 echo $msg;    //out put:  "your message"
2
krishna_coolsofty

Voici comment je l'ai fait. Dans config.php

$config['HTML_TITLE'] = "SO TITLE test";

Dans applications/view/header.php (en supposant que le code html)

<title><?=$this->config->item("HTML_TITLE");?> </title>

Example of Title

1
fangstar

$config['cricket'] = 'bat'; Dans le fichier config.php

$this->config->item('cricket') utilise ceci en vue

1
Rick