O documento discute interfaces em programação orientada a objetos. Ele explica que interfaces definem o comportamento esperado de um objeto e possibilitam a comunicação entre objetos, já que mostram quais mensagens um objeto pode receber. O documento também discute como interfaces devem ser definidas de forma coesa e respeitando certos princípios como notificar erros.
2. Nelson Senna
• Github: https://github.com/nelsonsar
• Twitter: https://twitter.com/nelson_senna
• Tripda: https://tripda.com.br
• Membro do PHPSP
• Moderador eventual do PHP Brasil no Facebook
12. $teenager = new Teenager;
$teenager->listenToLedZeppelin();
// The line above outputs: Fatal error: Call to undefined method
Teenager::listenToLedZeppelin
13. A interface da classe Teenager
não contemplava o
comportamento de escutar Led
Zeppelin
37. <?php
interface File
{
public function open();
public function read();
public function readLine();
public function readFrom($fromBytes);
public function write();
public function writeLine();
public function close();
}
41. <?php
class PDO
{
public beginTransaction()
public commit()
public errorCode()
public errorInfo()
public exec($statement)
public getAttribute($attribute)
public static getAvailableDrivers()
public inTransaction()
public lastInsertId($name = NULL)
public prepare($statement, array $driver_options = array())
public query($statement)
public quote($string, $parameter_type = PDO::PARAM_STR)
public rollBack()
public setAttribute($attribute, $value)
}
54. <?php
class FileStream implements ReadableStream, WritableStream,
SeekableStream
{
public function read($bytes);
public function write($data);
public function seek($offset);
}