Skip to content

Instantly share code, notes, and snippets.

@lukeraymonddowning
Created June 1, 2021 16:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lukeraymonddowning/a79139b60b584feaebe7f916caa781f7 to your computer and use it in GitHub Desktop.
Save lukeraymonddowning/a79139b60b584feaebe7f916caa781f7 to your computer and use it in GitHub Desktop.
Example of more complex Stubble usage
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use App\Models\{{ model }};
use App\Http\Requests\{{ model | basename }}\{{ store_request }};
use App\Http\Requests\{{ model | basename }}\{{ update_request }};
class {{ model | basename }}Controller extends Controller
{
public function __construct()
{
$this->authorizeResource({{ model | basename }}::class, '{{ model | camel | singular }}');
}
public function index(Request $request)
{
return view('{{ model | view | plural }}.index', ['{{ model | camel | plural }}' => {{ model }}::paginate()]);
}
public function show(Request $request, {{ model | basename }} ${{ model | camel | singular }})
{
return view('{{ model | view | plural }}.show', ['{{ model | camel | singular }}' => ${{ model | camel | singular }}]);
}
public function create(Request $request)
{
return view('{{ model | view | plural }}.create', ['{{ model | camel | singular }}' => new {{ model }}]);
}
public function store({{ store_request | basename }} $request)
{
return redirect(route('{{ model | basename | kebab | plural }}.show', {{ model }}::create($request->validated())));
}
public function edit(Request $request, {{ model }} ${{ model | camel | singular }})
{
return view('{{ model | view | plural }}.edit', ['{{ model | camel | singular }}' => ${{ model | camel | singular }}]);
}
public function update({{ update_request | basename }} $request, {{ model | basename }} ${{ model | camel | singular }})
{
return redirect(route('{{ model | basename | kebab | plural }}.show', tap(${{ model | camel | singular }}, fn(${{ model | camel | singular }}) => ${{ model | camel | singular }}->update($request->validated()))));
}
public function destroy(Request $request, {{ model | basename }} ${{ model | camel | singular }})
{
${{ model | camel | singular }}->delete();
return redirect(route('{{ model | basename | kebab | plural }}.index'));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment