Подборка свежих новостей, инструментов, видео и материалов из мира PHP.
Приятного чтения!
В этих выпусках исправлены уязвимости:
FILTER_VALIDATE_URL в функции filter_var.proc_open.openssl_private_decrypt.Пожалуйста, обновитесь, как можно скорее.
8 июня 1995 года Rasmus Lerdorf впервые объявил о PHP.
Рома Пронский опубликовал ролик, в котором он скомпилировал и запустил первую версию языка. Посмотрите, каким был PHP 29 лет назад.
С днем рождения, PHP! 🎉🥳🎂
Команда JetBrains запустила восьмое ежегодное исследование экосистем разработчиков, посвященное текущему состоянию индустрии разработки программного обеспечения.
Большинство новостей ядра PHP подробно освещаются в серии PHP Core Roundup от PHP Foundation, мы лишь быстро по ним пробежимся:
Niels Dossche предлагает добавить два новых метода для работы с потоком модуля XML:
XMLReader::fromStream()XMLWriter::toStream()Erick de Azevedo Lima предлагает добавить новый магический метод __staticConstruct, который будет вызываться
автоматически при вызове статического метода.
Paul Morris предлагает добавить новый тип класса – статический. Статический класс определяется ключевым словом static,
а все методы этого класса автоматически становятся статическими. В настоящее время в PHP можно объявить статическими
отдельные методы.
Arnaud Le Blanc и Nicolas Grekas предлагают добавить ленивые объекты в PHP. Ленивые объекты не будут инициализироваться до тех пор, пока в этом нет необходимости, например, не будет прочитано или изменено свойство объекта.
Ленивые объекты большинство пользователей не будут использовать напрямую, в первую очередь они предназначены для авторов библиотек и фреймворков.
Группа авторов Niels Dossche, Gina Peter Banyard, Máté Kocsis, Tim Düsterhus, Kamil Tekiela и Jorg Sowa запустила обсуждение RFC, чтобы определить какой функционал объявить устаревшим в PHP 8.4 и удалить в PHP 9.0.
Предлагается объявить устаревшими:
DOMDocument::$actualEncoding, DOMDocument::$config, DOMEntity::$actualEncoding, DOMEntity::$encoding
и DOMEntity::$versionDOMImplementation::getFeature($feature, $version)SplFixedArray::__wakeup()SUNFUNCS_RET_STRING, SUNFUNCS_RET_DOUBLE, SUNFUNCS_RET_TIMESTAMP, DOM_PHP_ERR, E_STRICTSOAP_FUNCTIONS_ALL и передачу её в метод SoapServer::addFunction()strtok(), mysqli_ping(), mysqli::ping(), mysqli_refresh(), mysqli_kill(), lcg_value(),
uniqid(), md5(), sha1(), md5_file() и sha1_file()session.sid_length и session.sid_bits_per_characterxml_set_object() и xml_set_*_handler() со строковыми именами методовE_USER_ERROR в функцию trigger_error()null и false в функцию dba_key_split()hash$data в виде массива в функцию file_put_contents()S функции unserialize()mysqli_store_result()_ в качестве имени классаFrankenPHP v1.2.0 – В этом обновлении сервера приложений PHP добавлены встроенный веб-сервер Caddy 2.8, поддержка полнодуплексных соединений HTTP/1 и другие возможности.
php-soap – Замена модуля ext-soap на чистом PHP.
davecheney/httpstat – Аккуратный инструмент визуализации HTTP-запросов.
php-static-analysis/attributes – Пакет позволяет использовать атрибуты вместо аннотаций PHPDoc для статического анализа с помощью PHPStan.
rectorphp/type-perfect – Следующий уровень проверки объявления типа правил PHPStan.
phpstan/phpstan-doctrine – Расширения Doctrine для PHPStan.
koriym/spaceman – Пакет для присваивания пространства имён унаследованному PHP-коду без пространства имён.
olinox14/path-php – Объектно-ориентированные операции с файлами и путями, вдохновленные библиотекой path.py.
cognesy/instructor-php – Структурированный вывод данных с помощью LLM на PHP. Разработан для простоты, прозрачности и контроля.
NumPower/numpower – Модуль PHP для эффективных научных вычислений и работы с массивами данных с поддержкой GPU. Посмотрите на простую нейронную сеть, созданную на PHP с нуля с помощью NumPower.
krakjoe/parallel – Лаконичный API параллельного параллелизма для PHP. Модуль был недавно обновлён и теперь совместим с PHP 8.2 и 8.3. Любопытно узнать о случаях использования? Посмотрите этот пример: Обработка одного миллиарда строк в PHP.
Swoole v6.0.0-alpha – Альфа-версия демонстрирует значительные изменения в Swoole, такие, как многопоточный режим и поддержка io_uring для файловых операций.
seanmorris/php-wasm – PHP в браузере, работающий на основе WebAssembly. В
настоящее время поддерживается WordPress,
поэтому в последнее время в него было внесено много интересных обновлений,
например, динамическая загрузка модулей.
Версия v0.0.9 также включает php-cgi-wasm, который выполняет php-cgi SAPI и ведёт себя более похоже на PHP, который
работает под Apache, и менее похоже на PHP, который вы вызываете через CLI. Это позволяет вам запускать практически
любое PHP-приложение полностью на стороне клиента.
Выступления на BeerPHP Moscow:
От Сеньора к Архитектору: Разбор карьерных троп с Антоном Давыдовым!
Нажимая «Подписаться» я даю согласие на обработку персональных данных.
Мы заботимся о ваших данных и не будем злоупотреблять доверием.