не знаю или вы помните сколько было воплей, когда в пыхе сделали short_open_tag по дефолту выключенными
Но php и вправду запрещён.
Да и честно - не советую вообще начинать с php. Я не знаю ни одного росийского гиганта IT, кто бы с этим языком работал.
function load_users_data(\mysqli $connection, int $userIds): iterable
{
$sql = \sprintf('SELECT * FROM `users` WHERE id IN (%s)', \implode(',', userIds));
$query = \mysqli_query($db, $sql);
while($obj = $query->fetch_object()) {
yield $obj->id => $obj->name;
}
}
Требование "просто работает" применимо только к прототипам и одноразовым скриптикам. Такие характеристики, как:
1) Читаемость
2) Поддерживаем
3) Правильно скомпанован (я хз как сформулировать тезисы об инкапсуляции побочных эффектов и SOLID в целом), что повышает тестируемость и расширяемость.
Имеют первостепенную важность, если код является частью единой системы. В этом случае баги и недоработки фиксятся за пару минут, а новая задача, поверх старой не потребует лишних телодвижений. Я вообще не припомню случаев, где требовалось бы сделать N по тех.заданию и забить. Каждый проект, если он живёт, то постепенно дорабатывается, улучшается, а бизнес-логика меняется. Задача программиста - это найти границу между минимальной стоимостью разработки и поддержки. А в некоторых случаях (например, в Open Source) задача стоит только одна - максимальное качество кода.
Согласен. Но делать его в стиле барокко и говнокодить, оправдываясь этим - не стоит.
Да что уж там, давайте тогда и на отступы забъём. Кому нужны переносы строк и пробельчики? Это же просто понты!
Не, я согласен, что резон в этих словах есть. Для начинающих не важно на какой строке стоит фигурная скобка, но минимальные правила (только UTF-8 без BOM, опускание закрывающего `?>` и проч.) должны выполняться всегда. Это не прихоть, это решение огромного вороха проблем. Да даже далеко ходить не стоит: Почему пишет, что хедер уже послан? Этого бы не было, если бы человек удосужился выполнять простые правила PSR.