Свежая подборка со ссылками на новости и материалы. В выпуске: Последний релиз-кандидат PHP 8.0 перед финальным релизом и свежие материалы по PHP 8, RFC и обсуждения из PHP Internals, порция полезных инструментов, стримы, подкасты, статьи.
Приятного чтения!
E_ERROR
, E_CORE_ERROR
, E_COMPILE_ERROR
, E_USER_ERROR
, E_RECOVERABLE_ERROR
, E_PARSE
.RUN curl -L -o /tmp/pickle.phar https://github.com/FriendsOfPHP/pickle/releases/latest/download/pickle.phar; mv /tmp/pickle.phar /usr/local/bin/pickle; chmod +x /usr/local/bin/pickle; pickle install xdebug;
RUN echo "extension=xdebug.so" >> $PHP_INI_DIR/conf.d/php.ini;
RUN mkdir -p /usr/src/php/ext/xdebug && curl -fsSL https://pecl.php.net/get/xdebug | tar xvz -C "/usr/src/php/ext/xdebug" --strip 1 && docker-php-ext-install xdebug
$lambda
, которая указывает на само замыкание. По аналогии с $this
для классов. $fibonacci = function (int $n) use (&$fibonacci) {
if ($n === 0) return 0;
if ($n === 1) return 1;
return $fibonacci($n-1) + $fibonacci($n-2);
};
// =>
$fibonacci = function (int $n) {
if ($n === 0) return 0;
if ($n === 1) return 1;
return $lambda($n-1) + $lambda($n-2);
};
::function
(или ::fn
) для получения полного неймспейса и имени функции по аналогии с ::class
. Подобное предложение обсуждалось раньше и имеет проблемы, но вполне вероятно будет принято.number
или numeric
для объединенного типа int | float
. В комментариях указали, что уж лучше позже сделать полноценные алиасы для типов как в TypeScript: type Number = Foo|Bar;
.use function MNC\Http\fetch;
$response = fetch('https://habr.com');
echo $response->status()->code(); // 200
echo buffer($response->body());
// or
while (($chunk = $response->body()->read()) !== null) {
echo $chunk;
}
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку хабра или телеграм.
Больше новостей и комментариев в Telegram-канале PHP Digest.
Вот зачем такое делают? Для привычности при переключении между языками? Или подготовка к компиляции PHP в wasm? )
А там автор в ридми как раз отвечает на этот вопрос https://github.com/mnavarrocarter/php-fetch#why-another-http-client
По крайней мере, в этом больше смысла, чем в том, чтобы делать еще один PSR-18-совместимый клиент.
Спасибо, недоскроллил :(
Также странно видеть HTTP клиент без настройки timeout соединения. У автора какой-то свой опыт работы с сетью. Я бы смотрел на этот пакет лишь с целью ознакомиться.
Интересно было бы провести исследование о том, как часто используется опция таймаута. Мое предположение, что в 83% случаев используется дефолтное значение
Давеча столкнулся, что в каком-то клиенте дефолтное было без таймаута...
rectified от слова rectum.
Посмотрел на этот пакет и в недоумении: он пытается тесно склеить бекенд и фронт, хотя отрасль идет в обратном направлении. Rectified пакеты меньше недоумения вызывают.
А где купить такого слона?
В конце дайджеста есть ссылка.