Переход к PHP5 Страница 13. Статические методы класса
|
Страница 13 из 20 Статические методы класса Статические методы класса могут быть вызванны непосредственно у класса, а не через его один из его объектов. Соответственно, указатель $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) { ... } } Применение такого подхода гарантирует, что все классы доступа к базе данных будут реализовывать один интерфейс (заменяемость), уменьшает вероятность конфликтности имен, упрощает существование нескольких версий класса доступа к базе и т.д. |