我是PHP和Codeigniter的新手。Codeigniter:從視圖鏈接時保留對象
我從我的控制器加載視圖。這個視圖中有一個form_open,它指向該控制器內的一個函數。我可以在該功能中使用先前在控制器中設置的變量嗎?
例如,控制器的構造函數加載模型。然後,此控制器中的另一個功能調用$this->model->someFunction($id)
並將我的型號的$id
變量設置爲$id
。稍後,在我的視圖中單擊鏈接後,它將轉到控制器中的其他功能,然後調用$this-model->printID()
。這失敗了,因爲在我的模型中,未設置$id
。
我該如何實現鏈接轉到訪問我之前修改的同一對象(或模型)的函數?也就是說,$ ID的最後一個回顯返回一個空白字符串 - $ID
未按照我預期的那樣設置。
在此先感謝您的幫助。
我的控制器:
class Studio extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('studio_model','',TRUE);
}
function view($id)
{
$this->studio_model->setID($id);
$this->load->view('studio_view');
}
function signup(){
$ID = $this->input->post('ID');
$this->studio_model->signup($ID);
}
}
我的模型:
Class studio_model extends CI_Model{
public $ID;
function setID($id) {
$this->ID = $id;
}
function signup($ID){
echo $this->ID;
echo $classID;
}
如果你作爲新PHP中,**不要使用框架**。學習語言。 –
謝謝您的意見 - 我不相信我有PHP本身的麻煩。 – dimab0
我認爲回答我的問題是有關以下內容:http://ellislab.com/forums/viewthread/185409/#876547 一個PHP實例沒有保持,因此每個新的呼叫實例化新類,控制器等等。因此,如果你已經離開控制器之後再重新輸入一遍全局變量不再設置。 – dimab0