Что нового в PHP7.1: обнуляемые типы.
Всем привет! В этой статье мы рассмотрим, что такое обнуляемые типы(nullable types) в PHP 7.1 и как их использовать.
Не будем долго тянуть и сразу перейдем к практике. Создадим класс:
class User {
public function getName() : string {
return 'John';
}
}
$user = new User;
echo $user->getName();
Как вы можете видеть, после имени метода стоит двоеточие, а затем написано string. Этим способом мы теперь, наконец, можем обозначать в PHP, какой тип данных мы хотим получить. В нашем случае это строка. Поскольку мы выводим имя в строковом типе, то никаких ошибок вы не получите. Однако стоит нам вывести, например, число, и мы сразу получим ошибку, говорящую нам о том, что вернувшиеся из метода данные должны быть числового типа(int.).
class User {
public function getName() : int {
return 'John';
}
}
$user = new User;
echo $user->getName();
Что интересно, мы можем также определить, что метод возвращает потенциально нулевое значение(null). Для этого нужно просто поставить знак вопроса между двоеточием и типом данных:
public function getName() : ? string {
...
}
Как это работает? Давайте немного перепишем наш код, а затем я поясню.
class User {
public $name;
public function getName() : ? string {
return $this->name;
}
}
$user = new User;
$user->name = 'John';
echo $user->getName();
Мы создали новое свойство в классе, которое будет хранить в себе имя. Дальше мы записываем это имя, и все работает так, как и раньше. Но что будет, если мы не зададим имя?
// $user->name = 'John';
Если бы у нас не было знака вопроса, то мы бы получили ошибку. Но, поскольку в таком случае наше свойство имеет тип null, мы ошибку не получим.
Итак, сегодня мы рассмотрели одно из нововведений в PHP 7.1, а если вы еще не знаете основ этого замечательного языка, то рекомендую обратить внимание на видеокурс PHP и MySQL с Нуля до Гуру.
Спасибо за внимание!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.