PHP 5: Interfaces
Interfaces are a way of adding the definition of extra methods onto a class to force it to conform to a particular pattern. An interface consists entirely of methods with empty bodies i.e. abstract methods:
interface Saveable()
{
public function save();
}
Classes implement interfaces as a way of guaranteeing that they will allow a set of operations as specified by the interface. E.g.
abstract class User implements Saveable
{
/*
Previous code for User here
*/
public function save()
{
//Code in here for saving to disk
}
}
Interfaces are useful primarily to help document and constrain code, especially when used with class hinting (see next section). A class may implement more than one interface, separated by a comma e.g.
class User implements Saveable, Cacheable
Advanced uses of Interfaces allows the treatment of objects as arrays (by implementing Iterator, ArrayAggregator and a number of Standard PHP Library interfaces).
Next section: Class hinting