Спростити роботу в ООП допоможуть статичні методи PHP

31

Від автора: нещодавно довелося брати довідку про склад сім’ї. Думаєте, це так просто? Я і не підозрював, що «бюрократичні» коридори в нашій країні настільки довгі і покручені. Вони мені чимось нагадують ООП: тут теж, щоб викликати метод класу, потрібно спочатку створити його об’єкт, потім успадковувати потрібну функцію від батьківського…. Добре, що є PHP статичні методи, які дозволяють легко обійти всю бюрократію, закладену в объекто-орієнтованому програмуванні!

Що за методи?

Використання статичних функцій багато в чому спрощує роботу з ООП. Їх можна викликати, не створюючи екземпляр класу. Тобто, вони належать до класу, а не об’єкта. З-за цього застосування всередині них псевдопеременной $this неможливо.

Також варто враховувати, що зміна статичних методів спричинить за собою зміни у всіх інших примірниках. Щоб створити «статику», перед ім’ям функції потрібно вказати ключове слово static, а потім ідентифікатор доступу. Приклад:

Упростить работу в ООП помогут статические методы PHP

Звернення до статики

Не знаючи всіх тонкощів синтаксису, викликати статичний метод PHP буде складно. Чому? Ну, хоча б із-за використання для доступу до нього спеціального оператора. Дивіться самі:

Упростить работу в ООП помогут статические методы PHP

Але за свою незалежність статичним членам класу доводиться розплачуватися. Всередині рідного класу властивість, що жоден метод не може просто так отримати доступ до static. Тільки через спеціальне ключове слово self:

f2();
?>

Упростить работу в ООП помогут статические методы PHP

Ось такий вийшов маленький екскурс в PHP статичні методи класу. Використовуйте цей засіб з розумом, так як будь-який неправильний виклик «статики» може призвести до появи важко перехоплених помилок.