Статические свойства и методы в PHP
Очень важной особенностью ООП является наличие статических свойств и методов. Главное, что необходимо сразу понять, что такие свойства и методы принадлежат не объекту, а классу. Это нужно понять с самого начала, а вот применение статических свойств и методов в PHP я рассмотрю в этой статье.
Самый классический пример - это класс, отвечающий за математические функции. Если кто-то знает Java, то он знает, что там имеется класс Math (в JavaScript такой класс тоже есть), содержащий множество математических функций. И там методы являются статическими. Это означает, что для того, чтобы посчитать какой-нибудь синус или экспоненту, не нужно создавать объект данного класса, что очень удобно.
Давайте мы с Вами напишем уменьшенную копию данного класса, но только для PHP:
<?php
class Math {
private static $count = 0;
public function __construct() {
self::$count++;
}
public static function calcSin($x) {
return sin($x);
}
public static function calcSQRT($x) {
return sqrt($x);
}
public static function getCount() {
return self::$count;
}
}
echo Math::calcSin(1);
echo "<br />";
echo Math::calcSQRT(9);
echo "<br />";
$math = new Math();
$math_2 = new Math();
echo Math::getCount();
?>
В данном коде я показал использование статических методов и свойств. Обратите внимание, что я реализовал классический способ счётчика объектов. Это получилось лишь благодаря тому, что поле count является статическим, и оно имеет одно и то же значение для всех объектов.
Ещё один популярный пример использования статических методов и свойств - это ведение лога. Все записи добавляются через статические методы. Также очень часто делают класс, состоящий из множества настроек, и там также все поля являются статическими. Как видите, примеров использования статических методов и свойств в PHP и других языках более, чем достаточно, поэтому уметь с ними работать надо обязательно.
-
- Михаил Русаков
Комментарии (4):
Уважаемый Михаил Русаков.Я не могу зайти к вам на страницу вконтакте и на ваш сайт ТНТ который вы зарегистрировали в интернете.По причине того что у меня стоит родительский контроль он ваши сайты считает сайтами для взрослых но он не только считает эти сайты взрослыми.free php hosting тоже считает таки.Пожалуйста свяжитесь со мной мой e-mail адрес [email protected]
Ответить
Используйте анонимайзер для входа: http://anonymizer.ru/ или http://cameleo.ru/
Ответить
Михаил Русаков спасибо вам огромное что вы не отказали мне в помощи,но для чего нужен сайт http://cameleo.ru/? он пишется как не рекомендуемый сайт.
Ответить
Это анонимайзер, чтобы заходить на те сайты, которые с Вашего компьютера посещать нельзя.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.