В яких випадках використовувати void stack overflow російською

У PHP поняття void абсолютно умовно, в самій мові цього поняття немає - зазвичай ключове слово void використовується в програмуванні для позначення відсутності повертається взагалі (інших застосувань, крім void-покажчика, навскидку згадати не можу, але це не дуже важливо в цьому контексті) . У PHP ж подібний підхід відсутній взагалі, і будь-яка функція або метод повернуть null в разі відсутністю повертається. Тому такої штуки просто немає у мові, але є в документації, до якої ми повернемося через абзац.

У PHP 7 вводиться розширена підтримка суворої типізації, проте вона не повністю покриває примітивні типи і все одно не має типу void. Наскільки я можу припускати, це зроблено саме через те, що реалізація відсутності повертається в принципі досить складна для впіліванія в движок, і, крім того, назад несумісна, а розробники PHP, судячи з того, що я явідел, роблять досить великий упор на неї.

Що до документації (уточню - я маю на увазі PHPDoc), то тут void нарешті існує, і цілком можна застосувати. Хороший код, з моєї точки зору, в разі неможливості обчислити значення в методі / функції повинен або кидати виняток, якщо це критична секція, або повертати null. І ось тут, для того щоб відокремлювати ті методи, які не повертають взагалі нічого, від тих, в яких повернення null залежить від логіки (ну і, крім того, це відмінний спосіб вказати, що метод реально виробляє побічні ефекти і нічого не повертає) :

В цілому ж можна тільки процитувати @Sergiks:

в php слово void використовується тільки в документації, як псевдо-тип, щоб позначити, що «повернене значення марно. void в списку параметрів означає, що функція не приймає параметрів. »

Схожі статті