我们希望在提交后将用户重定向到包含一些错误的表单页面。我在我的控制器中有这个方法。
return redirect('create')->withErrors($errors)->withInputs($inputs);
现在我有一个名为redirect的辅助函数,它返回一个新的Redirect对象。
function redirect($fileName)
{
return new Redirect($fileName);
}
这是Redirect类
的结构class Redirect
{
public function __construct($fileName)
{
header("Location: " . $fileName);
return $this;
}
public function withErros($errors)
{
session_start();
$_SESSION['errors'] = $errors;
return $this;
}
public function withInputs($inputs)
{
session_start();
$_SESSION('inputs') = $inputs;
return $this;
}
}
第一个链接方法(withErrors
)正确运行,我可以在视图中显示错误。但第二个(withInputs
)永远不会运行。我认为这是因为PHP中的头功能。
拜托,有人可以帮助我吗?
答案 0 :(得分:1)
class Redirect
{
protected $filename;
public function __construct($fileName)
{
session_start();
$this->filename=$filename;
}
public function __destruct()
{
$this->redirect();
}
public function withErros($errors)
{
$_SESSION['errors'] = $errors;
return $this;
}
public function withInputs($inputs)
{
$_SESSION('inputs') = $inputs;
return $this;
}
public function redirect(){
header("Location: " . $this->filename);
exit;
}
}
这可以是一个解决方案。