2014-12-02 87 views
1

這是一個比普通查詢更普遍的查詢,但是在聽到普遍的共識時可能會感興趣。將SESSION變量存儲爲常量

我像往常一樣將用戶會話數據存儲在會話用戶數組中。很明顯,我可以直接在包含session_start()的每個頁面上訪問該數組。不過,我希望能夠使用簡單的變量訪問會話項目,而不是每次引用數組。真正的結果是少打字給我,而且整潔的代碼。

我正在考慮在每個頁面的頂部包含一個文件,該文件將每個會話變量定義爲常量,然後我可以引用常量而不是數組。

如果有多個用戶登錄,這項工作還是會導致問題?

感謝, 摹

+0

是的,它會工作,但我不認爲這是一個很好的主意 – Rizier123 2014-12-02 11:32:06

+3

你爲什麼想要這樣做?我認爲是完全沒有必要的。但無論如何,還有另外一種方法,如果你爲它創建一個類,然後使用該類來獲取會話變量。 – vaso123 2014-12-02 11:32:26

+0

有效的問題,我明白這是多餘的,但我想要做的就是能夠輸入類似於<?php echo USERNAME; ?>而不是<?php echo $ _SESSION ['user'] ['username]; ?>。在我學習使用PHP進行開發的最佳實踐的過程中,我更感到好奇。 – 2014-12-02 11:36:21

回答

0

是它的工作!但我認爲這不是一個好主意/這是沒有必要的。

由於其工作的例子:

的index.php:

<?php 

    session_start(); 
    $_SESSION['username'] = "myuser1233"; 

    require_once("config.php"); 
    echo USERNAME; 

?> 

的config.php:

<?php 

    //session_start(); you would have to start the session if you don't start the session in the file which includes this one 
    define("USERNAME", $_SESSION['username']); 

?> 

輸出:

myuser1233 

(我會使用會議本身或與t一起上課他的會話價值,因爲如果價值改變你會做什麼?你不能覆蓋一個常數!)

+0

謝謝。是的,現在我參與討論這是一個愚蠢的問題。 Certian用戶的詳細信息不會改變,但將某些引用爲常量並且使用會話數組有些意義不大。至於類,雖然我已經使用了現有的類並可以理解它們,但我還沒有推出自己的類。這可能是一個很好的練習。隨着學習! – 2014-12-02 11:48:43