我一直在我所有的特质中使用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中)进行重定向,但这会导致控制器方法中出现大量条件代码的重复,我也不确定为什么会发生这种情况。
米脂