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

Depuración avanzada en PHP

Xdebug es una extensión para PHP que nos ayuda con la depuración y el desarrollo de aplicaciones. Contiene un depurador[...]

Crear un plugin wordpress «Banned Word»

En este post, escribiremos un sencillo plugin para wordpress el cual consistirá en reemplazar palabras en los comentario[...]

Hola Mundo con Slim Framework

Slim es un micro framework para PHP que nos ayuda a escribir rápidamente aplicaciones Web y APIs sencillas pero poderosa[...]

Aprende a usar transacciones con Laravel

Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a[...]

Crea un plugin WP con panel de administracion

En este post crearemos un plugin para el CMS WordPress el cual comprende el plugin en si, un panel de administración y e[...]

Conexión a múltiples bases de datos en Laravel

En este tutorial conoceremos una forma de conectar una aplicación en Laravel con tres bases de datos diferentes, 2 en My[...]