Supongamos que tenemos la ruta siguiente:

Route::get('posts', 'PostController@listPosts');

 

Lo primero que necesitamos es el controlador llamado PostController, para ello usaremos Artisan, vamos al terminal y ejecutamos la siguiente instrucción para crear el controlador:

php artisan make:controller PostController

 

Esta instrucción nos creara el controlador dentro del directorio app\Http\Controllers y el mismo nos habrá rellenado el archivo con en namespace, el nombre de la clase y las librerías necesarias para que el archivo actúe como controlador.

Nos creará una serie de métodos predefinidos que podemos borrar.

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;


class PostController extends Controller
{
}

 

A continuación tenemos que crear el método listPosts() que por ahora nos retornará un texto de prueba. Para ello necesitamos crear una función pública llamada listPosts que no recibirá ningún parámetro (Dentro de la clase PostController) :

class PostController extends Controller
{
   public function listPosts() {
       return "Lista de todos los posts";
   }
   
}

 

Si accedemos a la url https://blog.magarrent.com/blog/public/posts veremos que la ruta y el controlador funcionan correctamente: