GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Notizen

Interface_ex_1

Luis Rojas Spanisch 1 Seite

Inhalt der Notizen (1)

Seite 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();

Informationen

Beschreibung
Interface example
Erstellt von
Luis Rojas · Mai 2017
Aktualisiert
4 Mai 2017
Aufrufe
97
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck