Переход к PHP5 - Статические методы класса
ОГЛАВЛЕНИЕ
Статические методы класса
Статические методы класса могут быть вызванны непосредственно у класса, а не через его один из его объектов. Соответственно, указатель $this в статических методах недоступен.
Фактически, объявление класса со статическими методами является, в большей мере, методом группировки функций и общих для них констант и переменных. Например, столь известные в PHP функции соединения с MySQL можно было бы оформить в виде класса MySQL:
interface DatabaseInterface {
static function connect($host, $user, $password);
static function select_db($database);
static function query($query);
static function fetch_array();
static function free_result($result);
static function close($link);
}
class MySQL implements DatabaseInterface {
static CLIENT_COMPRESS = 1;
static CLIENT_IGNORE_SPACE = 2;
...
static function connect($host, $user, $password) {
...
}
static function select_db($database) {
...
}
}
Применение такого подхода гарантирует, что все классы доступа к базе данных будут реализовывать один интерфейс (заменяемость), уменьшает вероятность конфликтности имен, упрощает существование нескольких версий класса доступа к базе и т.д.