Una Interface en PHP es como un molde que define la estructura y el comportamiento que deben tener las clases que las implementen.
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...}
}
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:
En este post veremos como enviar solicitudes GET y POST a un API RestFul desde un dispositivo con android. Nuestra apli[...]
El sistema D’Hondt creado por el jurista belga Victor d’Hondt en 1878, es un método de promedio mayor para a[...]
En esta ocasión aprenderemos a conectaros con una base de datos Oracle desde Laravel. Es un tutorial sencillo y cortito,[...]
«Las palabras que elegimos dan forma a nuestra realidad. La Fuente Educada (Polite Type) es una fuente de código abierto[...]
EL patrón MVC (Model, View, Controller) o Modelo, Vista Controlador, es un tipo de diseño que separa en capas bien defin[...]
Integrar Python en proyectos Laravel puede ser bastante útil para tareas específicas donde Python destaca y PHP se queda[...]