2

Declaración e implementación de una interfaz en PHP

A continuación comparto la resolución de uno de los ejemplos publicados en la documentación de PHP, en relación a la declaración e implementación de interfaces.

<?php

/*
* Ejemplo basado en la documentación oficial
* de PHP: http://php.net/manual/es/language.oop5.interfaces.php
*/

// Declarar interfaz
interface iTemplate {
  public function setVariable($name, $var);
  public function getHtml($template);
}

// Implementar interfaz
class Template implements iTemplate {
  private $vars = array();

  public function setVariable($name, $var) {
    $this->vars[$name] = $var;
  }

  public function getHtml($template) {
    foreach($this->vars as $name => $value) {
      $template = str_replace('{' . $name . '}', $value, $template);
    }

    return $template;
  }
}

$myVar = new Template;
$myVar->setVariable('nombre', 'Comunidad');
$myVar->setVariable('apellido', 'Platzi');

// El output es <h1>Comunidad Platzi</h1>
echo $myVar->getHtml('<h1>{nombre} {apellido}<h1>');
Escribe tu comentario
+ 2