статическая переменная вызывается в функции, дающей ошибку undefined codeigniter php
Я определил статическую переменную в контроллере, но когда я использую эту переменную в функциях, она дает неопределенную переменную ошибку.
Контроллер
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Quiz extends Admin_Controller {
private static $secure_key = "aXXXXXXXXc";
public function __construct()
{
parent::__construct();
}
public function edit($id)
{
try
{
$token = JWT::encode($postdata, $secure_key);
echo "<pre>";print_r($token);exit;
}
catch(Exception $e){
$this->data['error'] = $e->getMessage();
redirect('/','refresh');
}
}
}
$token
печатается правильно с помощью jwt, но я получаю ошибку
Undefined variable: secure_key
Я пробовал разные методы, чтобы определить $secure_key
Как
public static $secure_key = "aXXXXXXXc;
static $secure_key = "aXXXXXXXc;
Я попытался определить $secure_key
в конструкторе также как
$secure_key = "aXXXXXXXc;
2 ответа:
Рекомендуемый метод (основанный на безопасности )
Определите переменные в
config.php
и получите к ним доступ. Это будет работать как глобальная переменная$config['secure_key'] = 'myKey'; $this->config->item('secure_key'); # get $this->config->set_item('secure_key', 'NewKey'); # set
Доступ к нему вот так
$this->$secure_key
Согласно комментарию cd001
self::$secure_key
Если функция
$this->function_name();