Несмотря на то, что HTML 5 существует уже более 16 лет, PHP никогда не поддерживал его должным образом. В PHP есть
https://www.dev-notes.ru/articles/php/html-5-in-php-84/
#php #php84
\DOMDocument, который теоретически должен поддерживать HTML 4, но на самом деле он уже не совместим с HTML 4.https://www.dev-notes.ru/articles/php/html-5-in-php-84/
#php #php84
Заметки разработчика
Поддержка HTML 5 в PHP 8.4
В PHP 8.4 добавлен новый парсер, совместимый с HTML5
👍1
В PHP 8.4 добавлено несколько функций, которых давно не хватало:
https://www.dev-notes.ru/articles/php/array-find-in-php-84/
#php #php84
array_find() и её вариации. Назначение array_find() простое: передайте ей массив и обратный вызов, и получите первый элемент, для которого обратный вызов вернёт true.https://www.dev-notes.ru/articles/php/array-find-in-php-84/
#php #php84
Заметки разработчика
array_find в PHP 8.4
В PHP 8.4 добавлено несколько функций, которых давно не хватало: array_find() и её вариации.
🔥3
#backend #php #php84 #feature
👩💻 Новые функции массива в PHP 8.4
PHP 8.4 выйдет в ноябре 2024 года и представит несколько новых функций для работы с массивами:
✅
✅
✅
✅
Кратко рассмотрим эти новые функции и как их использовать в проектах на PHP 8.4.
Если вы Laravel разработчик, то возможно заметили, что уже есть подобные функции в классах
Для тех кто разрабатывает в Laravel, я покажу эквиваленты новых функций массивов PHP 8.4 в Laravel, чтобы можно было реализовать тот же функционал в своих Laravel проектах, не дожидаясь выхода PHP 8.4.
🖥 Читать статью
📱 @dev_notes_ru
PHP 8.4 выйдет в ноябре 2024 года и представит несколько новых функций для работы с массивами:
array_findarray_find_keyarray_anyarray_allКратко рассмотрим эти новые функции и как их использовать в проектах на PHP 8.4.
Если вы Laravel разработчик, то возможно заметили, что уже есть подобные функции в классах
Illuminate\Support\Collection и Illuminate\Support\Arr. Но мне нравится, что эти функции будут встроенными в PHP и поэтому будут доступны в любом PHP-проекте.Для тех кто разрабатывает в Laravel, я покажу эквиваленты новых функций массивов PHP 8.4 в Laravel, чтобы можно было реализовать тот же функционал в своих Laravel проектах, не дожидаясь выхода PHP 8.4.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#backend #php #php84 #feature #PropertyHooks
👩💻 PHP 8.4 Property Hooks (хуки свойств)
Хуки свойств позволяют определять пользовательскую логику получения и установки свойств класса без необходимости писать отдельные методы получения и установки. Это означает, что можно определить логику непосредственно в объявлении свойства, чтобы получить прямой доступ к свойству (например,
Если вы Laravel разработчик, то, читая эту статью, можете заметить, что хуки очень похожи на аксессоры и мутаторы в моделях Laravel.
🖥 Читать статью
📱 @dev_notes_ru
Хуки свойств позволяют определять пользовательскую логику получения и установки свойств класса без необходимости писать отдельные методы получения и установки. Это означает, что можно определить логику непосредственно в объявлении свойства, чтобы получить прямой доступ к свойству (например,
$user->firstName) без необходимости помнить о вызове метода (например, $user->getFirstName() и $user->setFirstName()).Если вы Laravel разработчик, то, читая эту статью, можете заметить, что хуки очень похожи на аксессоры и мутаторы в моделях Laravel.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Все ошибки, предупреждения и уведомления в PHP имеют уровень ошибки, и с помощью функций
error_reporting и set_error_handler PHP приложения могут контролировать, о каких ошибках сообщается, и переопределять поведение обработки ошибок по умолчанию с помощью обратного вызова.PHP имеет широкий диапазон уровней ошибок, причём константа
E_ALL является битовой маской OR всех констант E_, что означает установку сообщения об ошибках или обработчика ошибок для сообщения/обработки всех ошибок, предупреждений и уведомлений.Одним из уровней ошибок, ранее выдаваемых PHP, был
E_STRICT, когда код не был строго корректным, чтобы обеспечить совместимость и дальнейшее развитие. В PHP 7.0 большинство существующих предупреждений E_STRICT были преобразованы в E_NOTICE, а начиная с PHP 8.0 все предупреждения E_STRICT были преобразованы в E_NOTICE.Поскольку все уведомления
E_STRICT были преобразованы в E_NOTICE начиная с PHP 8.0, в PHP 8.4 константа E_STRICT объявлена устаревшей.error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT); // Constant E_STRICT is deprecated
#php #php84 #e_strict #deprecation
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
bcdivmodВ PHP 8.4 в расширении BCMath представлена новая функция
bcdivmod, делящая заданное число на заданный делитель и возвращающая как частное, так и остаток. Результат по сути идентичен вызову функций bcdiv и bcmod.bcdivmod может быть использован в случаях, когда необходимо получить частное и остаток от деления, и избавляет от необходимости вызывать функции bcdiv и bcmod по отдельности.Возвращаемое значение — массив, в котором первое значение — частное от деления, а второе — остаток.
#php #php84 #bcmath
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Благодаря поддержке Unicode 16 расширение MBString может работать со всеми новейшими символами Emoji, а также имеет самую актуальную информацию о смене регистра и ширине символов.
Расширение MBString содержит подмножество данных из спецификации Unicode, используемое для таких операций, как преобразование заданной строки в верхний или нижний регистр, определение ширины строки (удобно для некоторых восточноазиатских шрифтов) и т.д.
В PHP 8.3 расширение MBString включало данные стандарта Unicode 14.0, выпущенного в сентябре 2022 года. В PHP 8.4 источник данных Unicode Character Database (UCD) был обновлён с 14.0 до 16.0, выпущенного в 2024 сентябре. Unicode 16.0 — это последняя версия UCD, доступная на этот момент.
В версии Unicode 15.0, 15.1 и 16.0 добавлено 4 489, 627 и 5 185 новых символов. Кроме того, три версии Unicode вместе взятые поддерживают 11 дополнительных скриптов. Однако для расширения MBString важны обновления в правилах сложения регистра символов, влияющие на такие функции, как
mb_strtolower, mb_strtoupper и назначение значения восточноазиатской ширины, определяющее, считается ли данный символ нормальной ширины или широким (mb_strwidth).Прямых изменений в функциях MBString нет. Данные символов Юникода являются частью самого расширения MBString и будут использоваться во всех функциях PHP 8.4.
#php #php84 #mbstring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
intltz_get_iana_id` и метод `IntlTimeZone::getIanaID()`Расширение Intl в PHP 8.4 предоставляет новую функцию
intltz_get_iana_id и новый статический метод IntlTimeZone::getIanaID() в классе IntlTimeZone, возвращающий идентификатор часового пояса IANA для переданного идентификатора часового пояса.В большинстве ситуаций возвращаемое значение совпадает с переданным идентификатором часового пояса. Однако в ситуациях, когда данный идентификатор часового пояса устарел или заменён другим идентификатором часового пояса, новая функция/метод поможет канонизировать идентификатор часового пояса.
Например, часовой пояс для Кипра,
Asia/Nicosia, иногда используется как Europe/Nicosia. Новая функция intltz_get_iana_id и метод IntlTimeZone::getIanaID() обеспечивают простой способ поиска подобных несоответствий и получения правильного идентификатора IANA для часового пояса.#PHP #PHP84 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
CURL_HTTP_VERSION_3 и CURL_HTTP_VERSION_3ONLY для поддержки HTTP/3Расширение PHP Curl способно выполнять HTTP/3 (также известный как QUIC) HTTP-запросы, если расширение Curl скомпилировано с зависимостями, необходимыми для HTTP/3.
Для расширения Curl в PHP 8.4 требуется libcurl 7.61.0 или более поздняя версия. Для поддержки HTTP/3 Curl требуется libcurl 7.66.0 или более поздняя версия.
Начиная с версии PHP 8.2 и выше, можно включить поддержку HTTP/3, передав корректные параметры в опцию Curl
CURLOPT_HTTP_VERSION.В PHP 8.4 расширение Curl объявляет две новые PHP константы, являющиеся параметрами для опции Curl
CURLOPT_HTTP_VERSION.CURL_HTTP_VERSION_3 (значение int 30)CURL_HTTP_VERSION_3ONLY (значение int 31)#PHP #PHP84 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Одной из менее заметных функций, появившихся в PHP 8.4, является ассиметричная видимость PHP свойств. Это обновление текущей видимости, а также ряд усовершенствованных возможностей по сравнению с
readonly, хуками свойств или магическими методами. Это не для всех, но может оказаться весьма полезным. Давайте посмотрим!#PHP #PHP84 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1