¡GoConqr estrena diseño! Cuéntanos qué te parece.

Apuntes

Interface_ex_1

Luis Rojas Español 1 página

Contenido del apunte (1)

Página 1

interface Logger {

public function execute($message);

}

class LogToFile implements Logger {

public function execute($message){

//code...

}

}

class LogToDb implements Logger {

public function execute($message){

//code...

}

}

class UsersController {

protected $logger;

// Over interface not implementation

public function __construct(Logger $logger){

$this->logger = $logger;

}

public function show(){

$user = 'Juan';

// The execute method will depend over which concrete class

$this->logger->execute($user);

}

}

$controller1 = new UsersController(new LogToFile);

$controller1->show();

$controller2 = new UsersController(new LogToDb);

$controller2->show();

Información

Descripción
Interface example
Creado por
Luis Rojas · may 2017
Actualizado
4 may 2017
Visitas
97
Etiquetas
interface
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?