Codeigniter Global Array Декларация - PullRequest
2 голосов
/ 25 мая 2010

У меня есть последовательность чисел, как следует

1 -> 25, 2 -> 60, 3 -> 80, 4 -> 100 и так далее

, что означает, что если input равен 1, вывод будет 25 и т. Д. Мне нужно сохранить его в глобальном массиве. Я также хотел бы использовать его на нескольких страницах. хранить все это?

Я пытаюсь примерно так в constants.php

$CONFIDENCEVALUE = array(); $CONFIDENCEVALUE[] = array('1'=>25,'2'=>'60','3'=>80,'4'=>100);

Если это правильно, как получить доступ к этим значениям массива на нужных страницах. Помогите мне, пожалуйста. Я не эксперт по codeignitor.

Ответы [ 3 ]

7 голосов
/ 25 мая 2010

На вашем месте я бы посмотрел на добавление пользовательского файла конфигурации (см. https://www.codeigniter.com/user_guide/libraries/config.html).

Так, например, application/config/confidencevalue.php добавьте следующее

$CONFIDENCEVALUE = array('1'=>25,'2'=>'60','3'=>80,'4'=>100);
$config['confidencevalue'] = $CONFIDENCEVALUE;

Добавьте конфигурациюфайл в application/config/autoload.php, и вы сможете получить доступ к вашему массиву через класс конфигурации, используя $this->config->item('1', 'confidencevalue'); (вместо значения 1 для искомого значения).

0 голосов
/ 08 ноября 2014

Один из способов сделать это - добавить функцию в вспомогательный файл, который вы делаете доступным глобально.

У меня есть вспомогательный файл application / helpers / main_helper.php, в котором я загружаю ряд общих, общих функций, которые используются в моем приложении.

Если вы добавите следующую функцию в файл main_helper:

/*
|--------------------------------------------------------------------------
| Function to retrieve Static Variables used Globally
|--------------------------------------------------------------------------
*/
function get_var($var = 'CONFIDENCEVALUE', $KEY = NULL) {
    $r = false;
    switch ($var) {
        case 'CONFIDENCEVALUE':
            $r = array('1'=>25,'2'=>'60','3'=>80,'4'=>100);
            if($KEY !== NULL) $r = $r[$KEY];
            break;
    }
    return $r;
}

Этот файл автоматически загружается путем редактирования файла application / config / autoload.php и редактирования строки:

$autoload['helper'] = array('main_helper');

Всякий раз, когда нужен этот массив (или значение из массива), вместо этого вызывайте функцию. eg.:

$CONFIDENCE = get_var('CONFIDENCEVALUE', 2); 

Если вы включаете $ KEY при вызове get_var (), тогда возвращается только значение, в противном случае возвращается весь массив.

Чтобы сделать дополнительные переменные доступными, просто добавьте их в коммутатор и вызывайте их по мере необходимости. Обратная связь приветствуется:).

0 голосов
/ 25 мая 2010

Сохранить массив в переменной сеанса:

$this->session->set_userdata('cvarray', $CONFIDENCEVALUE);

Чтобы получить доступ к массиву позже:

$this->session->userdata('cvarray');

CodeIgniter Класс сеанса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...