2016-02-24 3 views
2

код в моем приложении/библиотеки/globals.php является:глобальные переменные не работает в CodeIgniter

<?php 
class Globals { 
public function __construct($config = array()) { 
foreach ($config as $key => $value) { 
$data[$key] = $value; 
} 
$CI = & get_instance(); 
$CI->load->vars($data); 
} 
} 
?> 

и в приложении/Config/globals.php

<?php 

$config['tmp2'] = "testing 2"; 
?> 

и в контроллере я загрузке

 function aboutus() 
{  
$autoload['libraries'] = array('globals'); 
$this->load->view('aboutus.php',$data); 
} 

и в представлениях называется about.php:

<?php 
echo $tmp2; 
?> 

Но глобальные переменные в этом не работают. Если мне не хватает в какой-либо точке, то, пожалуйста, скажите мне

+0

есть ли у вас какие-либо ошибки? – Drudge

+0

no .. about.php view отлично работает на переднем конце ... он просто не отображает значение $ tmp2. – Pardeep

+0

можете ли вы повторить значение $ tmp2 в контроллере? – Drudge

ответ

0

Все отлично выглядит. Пожалуйста, попробуйте изменить имя файла библиотеки с global.php на Global.php. Заметьте, что капитал G

0

Итак, я попытался воспроизвести то, что вы сделали здесь, на моей установке, и, честно говоря, я не понимаю, что вы сделали в файле библиотеки globals изначально ... Но чтобы получить такое значение, как вы сказали, добавьте это в свой контроллер как раз перед тем, как загрузить вид

function aboutus() 
{  
$autoload['libraries'] = array('globals'); 
$my_config = $this->config->load('globals', true); 
$data=array(); 
$data['tmp2'] = $this->config->item('tmp2', 'globals'); 
$this->load->view('aboutus.php',$data); 
} 

$data представляет собой массив переменных, проходящие в представление, поэтому после сохранения значения конфигурации в $data['tmp2'], вы можете назвать его как $tmp2 в вашем представлении.

Все самое лучшее.

Смежные вопросы