簡體   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