繁体   English   中英

在函数中调用的静态变量给出错误undefined codeigniter php

[英]static variable called in function giving error 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');
       }
    }
}

使用jwt正确打印$token但我收到错误

Undefined variable: secure_key

我尝试了将$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 所以它可以使用selfclassName作为

self::$secure_key

要么

Quiz::$secure_key

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM