Controladores (Controllers)
Son el mecanismo que nos permite agrupar la logica de peticiones HTTP relacionadas y de esta forma organizar mejor nuestro codigo.
Generar un controlador
Para generar un nuevo controlador con el comando de Artisan make:controller pasandole el nombre que queremos darle. En el ejemplo el nombre es UserController .
php artisan make:controller UserController
Una vez ejecutado el comando, en el directorio app/Htttp/Controllers tendremos nuestro controlador UserController .
Metodos en el controlador
Un controlador no es mas que un archivo .php con una clase que extiende de la clase App\Http\Controllers\Controller
<?php
namespace App\Http\Controllers;
class UserController extends Controller {
//...
}
Dentro de esta clase agregamos nuestro metodo publico, el cual despues podemos enlazar a una ruta:
public function index() {
return 'User'
}
Enlazar una ruta a un controlador
Para enlazar una ruta a un controlador pasamos como argumento el nombre del controlador y del metodo que queremos enlazar, separados por un @ , en este caso queremos enlazar la ruta /users al metodo index del controlador UserController
Route::get('users', 'UserController@index');
Controlador de un solo metodo
Para crear un controlador que solo tenga una accion, puedes hacerlo llamando el metodo __invoke , por ejemplo
public function __invoke($name, $nickname = null) {
//...
}