Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter:从视图链接时保留对象_Php_Codeigniter_Variable Assignment_Object State - Fatal编程技术网

Php Codeigniter:从视图链接时保留对象

Php Codeigniter:从视图链接时保留对象,php,codeigniter,variable-assignment,object-state,Php,Codeigniter,Variable Assignment,Object State,我对PHP和Codeigniter都是新手 我正在从控制器加载视图。然后,该视图中有一个打开的表单,该表单指向该控制器中的函数。我可以在该函数中使用之前在控制器中设置的变量吗 例如,控制器的构造函数加载一个模型。然后,此控制器中的另一个函数调用$this->model->someFunction($id),并将我的模型的$id变量设置为$id。稍后,在我的视图中单击一个链接后,它将转到控制器中的另一个函数,该函数随后调用$this model->printID()。这会失败,因为在我的型号中,$

我对PHP和Codeigniter都是新手

我正在从控制器加载视图。然后,该视图中有一个打开的表单,该表单指向该控制器中的函数。我可以在该函数中使用之前在控制器中设置的变量吗

例如,控制器的构造函数加载一个模型。然后,此控制器中的另一个函数调用
$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新手,则不使用框架。改为学习该语言。谢谢你的评论-我不认为我在PHP本身方面有问题。我认为我的问题的答案与以下有关:PHP实例没有维护,因此每次新调用都实例化新的类、控制器等。因此,如果您已离开控制器,然后稍后重新输入,则不再设置全局变量。