3369

PHP или РЭП

PHP или РЭП

Итак, я попробовала php сегодня, и мне не нравится синтаксис честно говоря. почему так много знаков доллара? такое чувство, что я смотрю на код рэпера.

IT-юмор

7.6K постов53.3K подписчиков

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
155
Автор поста оценил этот комментарий

А самые жадные пыхеры добавили еще $$двойнойДоллар

раскрыть ветку (39)
109
Автор поста оценил этот комментарий

можно и тройной (и сколько угодно). Если писать php чисто по-реперски:

$yo = $$$bitch();
Иллюстрация к комментарию
раскрыть ветку (35)
110
Автор поста оценил этот комментарий

для тех, кто думает что это все шуточки) Синтаксис валидный, означает:

- $bitch - всем понятно, просто получить значение переменной $bitch;

- $$bitch - зачитать значение переменной $bitch и использовать его как имя другой переменной из этого же scope. Т.е. зачитываем значение переменной, имя которой хранится в переменной $bitch;

- $$$bitch - зачитать значение переменной $bitch и использовать его как имя переменной, в которой тоже хранится имя переменной o___O.

- $$$bitch() - зачитать значение $bitch и использовать его как имя переменной, в которой тоже хранится имя переменной, в которой хранится имя функции или lambda-функция ) Ну и выполнять эту функцию )


Пример https://3v4l.org/BX0ZT

раскрыть ветку (33)
78
Автор поста оценил этот комментарий

Нам на курсе сказали, что бы мы когда на работу попадём - такое никогда не использовали))

раскрыть ветку (25)
100
Автор поста оценил этот комментарий

Никто и не использует. А если попробует, его тимлид будет бить, возможно даже ногами.

раскрыть ветку (7)
24
Автор поста оценил этот комментарий

Я использовал) когда нужно было доработать стороннюю либу, а там насоздавали переменных типа

$level1_value, $level2_value, ..., $level16_value и все на них завязано.


и потом с внешней системы запрашиваются данные - номер левела и значение.

И либо городить огород из 16 if-else типа

if($i == 1) $level1_value = ...

либо в пару строк написать

$level_var_name = “level” . $i . “_value”;

$$level_var_name = ...

раскрыть ветку (5)
30
DELETED
Автор поста оценил этот комментарий

Не хотите вступить в команду разработчиков 1С-Битрикс?

раскрыть ветку (4)
19
Автор поста оценил этот комментарий

Не, там надо сложные вещи в SQL уметь, типа

WHERE 69 <> 121

я такое пока не умею)))

раскрыть ветку (2)
9
Автор поста оценил этот комментарий
Что я сейчас прочитал?
раскрыть ветку (1)
1
III Профессионал III
Автор поста оценил этот комментарий
Задачу с собеседования.
8
Автор поста оценил этот комментарий

О да! Типичный битрикс.

0
Автор поста оценил этот комментарий
Ну если ты не эксплойты пишешь, там и не такое используют 😅
17
Автор поста оценил этот комментарий

За 8 лет ни разу не встречал необходимости в этой фиче

раскрыть ветку (15)
11
Автор поста оценил этот комментарий

Видел пару генерилок объектов с использованием такого синтаксиса.

Более устоявшаяся практика - используют значение переменной как ключ для массива которому уже что-то присваивают.

10
Автор поста оценил этот комментарий

А я до сих пор жду того момента, когда мне понадобится оператор "Космический корабль"

Возможно такой момент уже был, но я им не воспользовался

Иллюстрация к комментарию
раскрыть ветку (12)
9
Автор поста оценил этот комментарий
Используется в основном при сортировках. Специально для них и сделано.
раскрыть ветку (7)
1
Автор поста оценил этот комментарий
А чем плох вариант $a - $b
Разве это даёт не тот же результат?
раскрыть ветку (6)
10
Автор поста оценил этот комментарий
Даёт, но тогда придётся обойтись без космического корабля!
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

печальбеда(

4
Автор поста оценил этот комментарий

Удобен для сортировок по нескольким параметрам.

$sort = $a['price'] <=> $b['price'];

if (!$sort) $sort = $a['order'] <=> $b['order'];

return $sort;

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Действительно - удобно, но использовать, конечно, не буду:

return $a['price'] - $b['price'] ?: $a['order'] - $b['order'];
0
DELETED
Автор поста оценил этот комментарий
Там можно ещё и строки сравнивать. Кроме того, результатом может быть только -1, 0, 1. -42 или 56 там не получится
Автор поста оценил этот комментарий
Spaceship, так же умеет работать со строками, массивами и объектами.
2
Автор поста оценил этот комментарий

пользовался памятный 1 раз)

1
Автор поста оценил этот комментарий
Очень полезная штука, когда лень тернарник писать в сравнении) в 8 ещё нулсейф обращение к полю объекта полезная фича... Ну и ждём 8.1...
0
Автор поста оценил этот комментарий

usort($smth, fn($a, $b) => $a->prop <=> $b->prop);

0
DELETED
Автор поста оценил этот комментарий
За 6 лет работы на рнр я всего раз с таким сталкивался в реальном проекте
1
Автор поста оценил этот комментарий
Такое обычно используют в разных библиотеках. В энтерпрайзе такого не встретишь.
0
Автор поста оценил этот комментарий
От созданий синтаксиса goto и alter в COBOL специально для любителей жесткой отладки.
6
Автор поста оценил этот комментарий

Слово "зачитать" тут ведь не просто так, да?)

1
Автор поста оценил этот комментарий
О, привет, не часто тебя встретишь, как отрисовка твоего "холста" идёт?)
раскрыть ветку (1)
4
Автор поста оценил этот комментарий

привет) ну ничего так идет, вот рисую мужиков полуголых :D Сейчас зойберга дорисую и залью обновление

Иллюстрация к комментарию
0
Автор поста оценил этот комментарий
Если ты из переменной получаешь имя другой переменной, то это тупо рефлексия пхпшная?
Да, сложная фигня но иногда используется.
А вызывать приватные функции в пхп можно? Тоже через доллар?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Рефлексия делается иначе, для этого есть класс Reflection.

Получать значение переменной по её имени, хранящейсвя в другой переменной - это было ещё в самой первой версии php/fi (90е годы), когда ещё и классов не было в языке. Просто для удобства (так считал автор языка).

А вызывать приватные функции в пхп можно?

Можно изменять область видимости чего угодно через тот же Reflection. Делается такое, как правило, в тестах.

DELETED
Автор поста оценил этот комментарий
не зря я пыху бросил, наркомания оказалась сильнее, чем я думал
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В любом языке можно найти что-то кажущиеся дичью.

0
Автор поста оценил этот комментарий
Живая легенда!
3
Автор поста оценил этот комментарий

У Selenium тоже на доллары падкие.

0
Автор поста оценил этот комментарий
и до кучи perl и jquery
0
Автор поста оценил этот комментарий
Она Powershell не видела еще..
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества