在laravel中,我们可以使用with()
和redirect()
,例如
return redirect('home')->with(['message' => 'Some message');
我想创建一些其他功能,例如withError()
,withSuccess()
。
如何以及在何处创建此内容?
答案 0 :(得分:2)
当Laravel RedirectResponse class使用Macroable trait时,您可以注册response macros来执行此操作。
只需创建一个新的服务提供商,然后说ResponseMacroServiceProvider
。在app.php
中注册它并在引导方法中注册一个宏,如下所示:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Http\RedirectResponse;
class ResponseMacroServiceProvider extends ServiceProvider
{
/**
* Register the application's response macros.
*
* @return void
*/
public function boot()
{
RedirectResponse::macro('withError', function ($value) {
return; // add logic here
});
RedirectResponse::macro('withSuccess', function ($value) {
return; // add logic here
});
}
}