假设我们想在提交后将用户重定向到存在一些错误的表单页面。我的控制器中有此方法。
return redirect('create')->withErrors($errors)->withInputs($inputs);
现在我有一个名为重定向的帮助程序函数,它返回一个新的重定向对象。
function redirect($fileName)
{
return new Redirect($fileName);
}
这是重定向类的结构
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 中的标头函数。有人可以帮我吗?
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;
}
}
这可以是一个解决方案。