我一直在我所有的特质中使用Laravel助手,假设助手功能在任何地方都有效。但是,虽然有些功能像工作,但我刚刚意识到这一点并且不起作用!abort()return redirect()return back()有人可以解释一下为什么吗?在这之后,我有点犹豫是否要相信Laravel...我的意思是,如果下次在某些地方不起作用(因为我不知道哪个功能在哪里工作),并且有些人做了他们不允许做的事情,该怎么办!abort(403)简化示例:namespace App\Http\Traits;trait TestTrait{ public function doBack(){ return back(); } public function doRedirect(){ return redirect()->route('test'); } public function doAbort(){ abort(403); }}use App\Http\Traits\TestTrait;class TestController extends Controller{ use TestTrait; public function testingBack(){ $this->doBack(); } public function testingRedirect(){ $this->doRedirect(); } public function testingAbort(){ $this->doAbort(); }}在上面的样品控制器中,方法有效,但不能!它们显示一个空页面。testingAbort()testingRedirect()testingBack()我假设我必须在控制器本身(而不是在Traits中)进行重定向,但这会导致控制器方法中出现大量条件代码的重复,我也不确定为什么会发生这种情况。
1 回答
米脂
TA贡献1836条经验 获得超3个赞
当您调用本地方法并期望控制器执行操作时,您将需要返回它,否则控制器函数将返回 null,而不是对特征返回执行操作。
public function testingBack(){
return $this->doBack();
}
public function testingRedirect(){
return $this->doRedirect();
}
public function testingAbort(){
return $this->doAbort();
}
}
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消