<?php
class Email
{
public function send()
{
echo "E-mail enviado", PHP_EOL;
}
}
class Usuario
{
protected $email;
//Injeção de dependência através do método construtor
public function __construct($email)
{
$this->email = $email;
}
public function porEmail()
{
$this->email->send();
}
}
$email = new email();
$anunciar = new Usuario($email);
$anunciar->porEmail();
PD9waHAKCmNsYXNzIEVtYWlsICAKewogICAgcHVibGljIGZ1bmN0aW9uIHNlbmQoKQogICAgewogICAgICAgIGVjaG8gIkUtbWFpbCBlbnZpYWRvIiwgUEhQX0VPTDsKICAgIH0KfQoKY2xhc3MgVXN1YXJpbyAgCnsKICAgIHByb3RlY3RlZCAkZW1haWw7CgogICAgLy9Jbmplw6fDo28gZGUgZGVwZW5kw6puY2lhIGF0cmF2w6lzIGRvIG3DqXRvZG8gY29uc3RydXRvcgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRlbWFpbCkKICAgIHsKICAgICAgICAkdGhpcy0+ZW1haWwgPSAkZW1haWw7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHBvckVtYWlsKCkKICAgIHsKICAgICAgICAkdGhpcy0+ZW1haWwtPnNlbmQoKTsKICAgIH0KfQoKJGVtYWlsID0gbmV3IGVtYWlsKCk7CgokYW51bmNpYXIgPSBuZXcgVXN1YXJpbygkZW1haWwpOwokYW51bmNpYXItPnBvckVtYWlsKCk7