Я тестировал типы возвращаемых данных с помощью PHP 7.
Я создал простой скрипт для проверки возвращаемых типов PHP 7:
<?php Class Obj { public function __construct(){ } public function test(): string { //a string needs to be returned return "ok"; } } function foo(): Obj { //instance of Obj needs to be returned return new Obj(); } $o = foo(); echo $o->test(); // output: ok 
  Теперь на других языках программирования, когда вы указываете тип возвращаемого значения void это означает, что вы ничего не можете вернуть или вы получите сообщение об ошибке.  Поэтому я написал этот скрипт: 
 <?php function foo(): void { } foo(); 
Теперь в приведенном выше сценарии ожидаемый результат – ничто. Вместо этого он дает мне фатальную ошибку:
Неустранимая ошибка: возвращаемое значение foo () должно быть экземпляром void, ни один из них не возвращается в строке 2
  Мой вопрос (я не мог его найти), в PHP 7 будет такой же тип void ? 
  Опубликован новый отдельный RFC для типа возврата void , прошел голосование и был реализован в PHP 7.1. 
  В PHP теперь есть тип возвращаемого значения void .  🙂 
Взято из wiki.php.net :
Будущая работа
Идеи для будущей работы, выходящие за рамки настоящего RFC, включают:
- Разрешить функции объявлять, что они ничего не возвращают (void в Java и C)
 
  Поэтому в настоящее время нет способа заявить, что вы ничего не возвращаете. 
  Я не знаю, что лучше в вашей ситуации, но я бы, наверное, просто не декларировал возвращаемый тип. 
  Чтобы ответить на ваш вопрос о том, будет ли тип возврата void в PHP 7: 
  Пока нет гарантии , но я думаю, что очень вероятно, что void или синоним будут реализованы каким-то образом. 
  Автор обратных типов RFC здесь.  В PHP 7.0 не будут void типы возврата, поскольку RFC не добавил его, и ни один другой RFC-таргетинг на PHP 7.0. 
  Тип void может существовать в серии PHP 7, если мы решим, что добавление новых ключевых / зарезервированных слов подходит для небольших выпусков, даже если они сломают код.  Это несколько неопределенно, но это было сделано в PHP 5.4 с ключевым словом callable . 
  Лично я не думаю, что нам нужно void ;  мы уже имеем null .  Из руководства : 
Специальное значение NULL представляет собой переменную без значения. NULL – единственное возможное значение типа null.
  В PHP функция, которая ничего не возвращает, косвенно вернет значение null .  Это означает, что вы никогда ничего не сможете вернуть *.  Переход null маршрута означает, что не существует обратных разрывов совместимости, поскольку null не будет допустимым именем класса / интерфейса / имени, начиная с PHP 7.0 и не добавляет никаких новых ключей или зарезервированных слов. 
* Люди, знакомые с Zend Engine, поймут, что вы ничего не можете вернуть, но если вы ничего не вернули, переменной, которую вы назначаете, присваивается значение null, что делает их логически эквивалентными.
  В PHP 7.1 будет void псевдо-тип.  Он определен в RFID типа возврата Void . 
Лично мне грустно об этом, потому что автор RFC ранее «ушел», и я взял RFC. Затем следующее, что я знаю, оно предлагается и обсуждается, и она не будет ждать, пока я предлагаю типы профсоюзов, которые были бы противоположностью, как было отмечено выше. Ну что ж.
  Тип возврата void был принят для php 7.1.  Так оно и будет в будущем. 
Некоторые примеры того, как это будет работать:
 function should_return_nothing(): void { return 1; // Fatal error: A void function must not return a value } function returns_null(): void { return null; // Fatal error: A void function must not return a value } function lacks_return(): void { // valid } function returns_nothing(): void { return; // valid } 
См. RFC от Andrea Faulds для получения дополнительной информации!
Нет эквивалентного типа для void в php, return NULL; может соответствовать вашему требованию, поскольку у него нет никакого типа типа 0 или любого другого значения. Примечание: фактическое значение void означает возврат.