Session注意事項2-傳送Class的問題

這一次做了一個嘗試,之前都不曉得session有這麼的神通廣大,發現可以將Class傳入Session中

<?php<br></br>sessiont_start();

class SaveSession{
function echoDate(){
echo "God, I can save Class in session.";
}
}

$test = new SaveSession();
$_SESSION['name'] = $test;
?>

我們可以將內容到另外一個頁面來讀取看看

<?php<br></br>session_start();

$load = $_SESSION['name'];
echo $load->echoDate();
?>

奇怪怎麼會發現沒有任何東西輸出呢?我們將這個資訊輸出看一下,我們會發現裡面給了一些有趣的訊息:

[_PHPIncompleteClassName]

原來是因為我們沒有定義這個Class所以沒有辦法得知內部的資料,所以我們可以將剛剛Class SaveSession再這個頁面重新定義一次,也就是include

<?php<br></br>sessiont_start();

class SaveSession{
function echoDate(){
echo "God, I can save Class in session.";
}
}

$load = $_SESSION['name'];
echo $load->echoDate();
?>

完成了嗎?輸出的資料還是一樣null,這是為何呢?這是因為我們的Class必須要在session開啟之前就定義,我們將位置交換一下

<?php<br></br>class SaveSession{<br></br> function echoDate(){<br></br> echo "God, I can save Class in session.";<br></br> }<br></br>}

sessiont_start();

$load = $_SESSION['name'];
echo $load->echoDate();
?>

CaesarChi

Web developer, focus on website fullstack, special JavaScript, and love sharing developing experience and communicate with developers. http://about.me/clonn