If you want to create a controller with just one action, you can use __invoke() method and even create "invokable" controller.
Route:
Route::get('user/{id}', ShowProfile::class);
Artisan:
php artisan make:controller ShowProfile --invokable
Controller:
class ShowProfile extends Controller{ public function __invoke($id) { return view('user.profile', [ 'user' => User::findOrFail($id) ]); }}
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
[NEW] NativePHP v3: Create Mobile Apps with Laravel
9 lessons
53 min
[NEW] Laravel AI SDK: 6 Practical Examples
9 lessons
1 h 02 min
Building a Typical Laravel SaaS
13 lessons
1 h 58 min