Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Laravel / Que es una Interface y como se usa en Laravel 11

Que es una Interface y como se usa en Laravel 11

Por jc mouse martes, agosto 6, 2024

Una Interface en PHP es como un molde que define la estructura y el comportamiento que deben tener las clases que las implementen.

¿Para qué nos sirven las interfaces en Laravel 11?

  • Definir un conjunto de métodos (funciones) que una clase debe implementar.
  • Permiten crear clases más genéricas y reutilizables, ya que cualquier clase que implemente una interface puede ser utilizada en cualquier lugar donde se espere esa interface aumentando la reutilización de código.
  • Nos ayudan a estructurar el código de manera más clara y modular, facilitando su comprensión y mantenimiento.

Interfaces en Laravel

Para crear una Interface, debemos utilizar el comando:

php artisan make:interface {NombreInterface}

Por ejemplo, para definir una nueva interface llamada «Foo«, la cual debe colocarse en la carpeta «Interfaces«, ejecutamos el comando:

php artisan make:interface Interfaces/FooInterface

A continuación en nuestra Interface creada declaramos el o los metodos necesarios.

<?php

namespace App\Interfaces;

interface FooInterface
{
    public function fibonacci($n);

    //{mas métodos...}
}

Implementado la Interface

Ahora creamos la clase que implementara nuestra interface, ejecutamos el comando:

php artisan make:class Services/FooService

Para implementar una interface, se utiliza el operador «implements«. Todos los métodos en una interface deben ser implementados dentro de la clase; caso contrario se generara un error. Actualizamos nuestra clase Service con el siguiente codigo.

<?php

namespace App\Services;

use App\Interfaces\FooInterface;

class FooService implements FooInterface
{    
    public function fibonacci($n){ 
        $fibonacci = array(0, 1);
        for ($i = 2; $i <= $n; $i++) {
            $fibonacci[$i] = $fibonacci[$i-1] + $fibonacci[$i-2];
        }
        return $fibonacci;
    }

}

A continuación creamos el controlador de la forma:

php artisan make:controller FooController

Y completamos con el siguiente codigo:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Services\FooService;

class FooController extends Controller
{

    protected $fooService;    
    
    public function __construct(FooService $fooService) {
        $this->fooService = $fooService;
    }
    
    public function index(){            
        return response()->json(['data' => $this->fooService->fibonacci(11) ]);
    }

}

Para finalizar definimos la ruta para llamar al controlador:

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\FooController;
  
Route::get('/fibonacci', [FooController::class, 'index']);

Finalmente tenemos la salida:

Tags

Artículos similares

Crear web multi-lenguaje con php

En este tutorial realizaremos un proyecto web de un «sitio multi lenguaje» o «web multi idiomas» como prefieran llamarlo[...]

Script PHP – Mouse responde

«Mouse Responde…» simula ser un alma en pena que responde cualquier pregunta que le hagan, al estilo del juego de[...]

The Polite Type: La fuente tipográfica políticamente correcta

«Las palabras que elegimos dan forma a nuestra realidad. La Fuente Educada (Polite Type) es una fuente de código abierto[...]

Controla excepciones con abort_if() y abort_unless()

Laravel tiene varias formas de tratar con las excepciones de nuetros proyectos, uno de ellos es el helper «abort()», est[...]

¿Como paginar con Laravel 11?

Se utiliza la paginación para poder mostrar al usuario una gran cantidad de datos de una forma ordenada en forma de «pag[...]

Efecto Taringa! en vivo

En la pagina de Taringa, existe una sección donde se puede ver lo que pasa en ese foro al momento, «Taringa! en vivo» se[...]