Próbuję dodać warunek if
, gdy zasób generuje się automatycznie.
Kiedy uruchamiam php artisan make:controller SomeController -r
, chcę wygenerować następujący,
class SomeController extends Controller
{
public function index()
{
if (Auth::user()->can('')){
//
}else{
//
}
}
public function create()
{
if (Auth::user()->can('')){
//
}else{
//
}
}
public function store(Request $request)
{
if (Auth::user()->can('')){
//
}else{
//
}
}
public function show($id)
{
if (Auth::user()->can('')){
//
}else{
//
}
}
public function edit($id)
{
if (Auth::user()->can('')){
//
}else{
//
}
}
public function update(Request $request, $id)
{
if (Auth::user()->can('')){
//
}else{
//
}
}
public function destroy($id)
{
if (Auth::user()->can('')){
//
}else{
//
}
}
}
0
Aushraful
20 listopad 2019, 09:52
Być może będziesz musiał zajrzeć do niestandardowych generatorów, aby zdefiniować plik pośredniczący, którego chcesz użyć do wygenerowania kontrolera ... jeśli faktycznie chcesz niestandardowego kontrolera wykonanego w ten sposób
– lagbox
20 listopad 2019, 10:43
1 odpowiedź
Spróbuj użyć oprogramowania pośredniczącego, aby to zrobić, Zobacz: https://laravel.com/docs/master/middleware
namespace App\Http\Middleware;
use Auth;
use Closure;
class AuthCan {
public function handle($request, Closure $next)
{
if (Auth::user()->can('')){
//
return $next($request);
}else{
//
return response()->json(['status' => false, 'code' => 1001, 'msg' => 'Cannot ...']);
}
}
}
Zdefiniowano oprogramowanie pośredniczące trasy w app/Http/Kernel.php
:
protected $routeMiddleware = [
'AuthCan' => \App\Http\Middleware\AuthCan::class,
...
I używaj oprogramowania pośredniego w routingu.
Route::group(['middleware' => 'AuthCan'], function(){
Route::get('/', 'SomeController@index');
Route::get('/{id}', 'SomeController@show');
...
}
2
TsaiKoga
20 listopad 2019, 10:10
Podobne pytania
Nowe pytania
php
PHP to szeroko stosowany, wysokopoziomowy, dynamiczny, zorientowany obiektowo i interpretowany język skryptowy przeznaczony głównie do tworzenia stron WWW po stronie serwera. Używane w przypadku pytań dotyczących języka PHP.