Написание сокращенных выражений на PHP

Admin PHP Обсудить

Разбираем как читать и понимать сокращенные конструкции (сокращения) и выражения на PHP. А также как самому написать сокращенный и лаконичный код по современным стандартам языка.

1

Предположим мы что-то сравниваем. Например, какую-то дату с текущим временем.

Такое выражение:

$date = $someDate > $currentTime;

Равно этому:

if ($someDate > $currentTime) {
    $date = true;
} else {
    $date = false;
}

Теперь мы можем использовать переменную $date для проверки проходит ли условие или нет:

if ($date) {
}

2

Примерно тот же вариант. Выражение:

$isSportcar = $car === 'sportcar';

Равно этому:

if ($car == 'sportcar') {
    $isSportcar = true;
} else {
    $isSportcar = false;
}

Теперь можем использовать это условие:

if ($isSportcar) {
}

3

Есть условие: $a > $b, если оно верно вернем true, иначе false.

Это:

return $a > $b ? true : false

Равно этому:

if ($a > $b) {
    return true;
} else {
    return false;
}

4

$a = $b ?: false;

Если переменная $b не пустая, то переменная $a будет равна переменной $b. Иначе $a будет равна false.

Более длинная форма этого же выражения:

$a = $b ? $b : false

5

Сокращенно:

$a
$b = $a ?? false;

Более длинная форма:

$b = isset($a) ? $a : false;

6

Стиль, перенятый из языка Python. Использует оператор И (&&).

Если выражение слева от оператора выполняется успешно (возвращает true), то мы переходим к следующему условию. И т.д.

$type === 'car' && CONSTANT && $number = 100;

Если $type равно car и одновременно равен тому что находится внутри CONSTANT (константы), то переменная $number будет равна значению 100.

Эту же конструкцию можно представить иначе:

$number = ($type === 'car' && CONSTANT) ? 100 : false;

При этом скобки можно опустить. Их можно поставить для удобства в чтении кода.

7

Для переменной $image создаем условие, в котором она равна либо первому значению либо второму:

$image = has_post_thumbnail($postId)
    ? wp_get_attachment_url(get_post_thumbnail_id($postId))
    : CONSTANT . '/img/img.jpg';

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Написание сокращенных выражений на PHP"
Если вам нужно добавить участок кода ставьте его между тегами <code></code>