Я определил статическую переменную в контроллере, но когда я использую эту переменную в функциях, она дает неопределенную ошибку переменной.
контроллер
<?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;
но бесполезно. Почему так? Пожалуйста помоги. Я использую codeigniter 3
Определить переменные в 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();
поскольку $secure_key
объявлен как static
внутри вашего класса. Так что это может быть доступно с помощью self
или же className
как
self::$secure_key
или же
Quiz::$secure_key