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) {
//...
}