PHP.mk документација

Други промени

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

migration82.other-changes.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека migration82.other-changes.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Други промени

Референца за `migration82.other-changes.php` со подобрена типографија и навигација.

migration82.other-changes.php

Други промени

Core промени

На iterable типот сега е вградена алијас за време на компајлирање за array|Траверзабилно. Пораките за грешки поврзани со iterable затоа сега ќе користи array|Traversable. Рефлексијата на типот е зачувана за единечни iterable?iterable) за да произведе ReflectionNamedType со име iterable, меѓутоа употребата на iterable во унија типови ќе биде претворена во array|Traversable.

Форматот на датумот на испратените колачиња сега е 'D, d M Y H:i:s \G\M\T'; претходно беше 'D, d-M-Y H:i:s T'.

Промени во SAPI модули

CLI

Стримовите STDOUT, STDERR и STDIN веќе не се затвораат при уништување на ресурсите, што е најчесто кога CLI завршува. Сепак, сè уште е можно експлицитно да се затворат тие стримови користејќи fclose() и слично.

Променети функции

Јадро

На strcmp(), strcasecmp(), strncmp(), strncasecmp()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во substr_compare() функции, користењето на бинарно безбедно споредување на низи веќе не гарантира враќање strlen($string1) - strlen($string2) кога должините на низите не се еднакви, но сега може да враќа -1 or 1 наместо тоа. Наместо да зависите од која било конкретна вредност, вратената вредност треба да се спореди со 0.

DBA

dba_open() and dba_popen() сега ја имаат следниот задолжителен потпис:

dba_open(
         string $path,
         string $mode,
         ?string $handler = null,
         int $permission = 0644,
         int $map_size = 0,
         ?int $flags = null
): resource|false

dba_fetch()опционалниот аргумент за прескокнување сега е на крајот во согласност со PHP семантиката на корисничкиот простор. Неговиот потпис сега е:

dba_fetch(string|array $key, resource $handle, int $skip): string|false
Преоптоварениот потпис:
dba_fetch(string|array $key, int $skip, resource $handle): string|false
сè уште е прифатен, но се препорачува да се користи новата стандардна варијанта.

— Разни функции

random_bytes() and random_int() сега фрлаат \Random\RandomException on CSPRNG неуспеси. Претходно обичен \Exception беше фрлен наместо тоа.

SPL

На iterator параметарот iterator_to_array() and iterator_count() се проширува до iterable from Итератор, дозволувајќи поминување на низи.

Други промени во екстензиите

Датум

Својствата на DatePeriod се сега правилно декларирани.

Меѓународен

Инстанци на IntlBreakIterator, IntlRuleBasedBreakIterator, IntlCodePointBreakIterator, IntlPartsIterator, IntlCalendar, Колатор, IntlIterator, UConverter, IntlDateFormatter, IntlDatePatternGenerator, MessageFormatter, ResourceBundle, — Земи ги поддржаните локали, IntlTimeZoneПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во — Постави го нивото на ограничување веќе не се серијализираат. Претходно, можеа да се серијализираат, но десеријализацијата даваше неупотребливи објекти или не успеваше.

MySQLi

Поддршката за libmysql е отстранета и веќе не е можно да се компајлира mysqli со libmysql. Отсега, mysqli екстензијата може да се компајлира само со mysqlnd. Сите libmysql функции недостапни во mysqlnd се отстранети:

OCI8

Минималната верзија на Oracle Client библиотеката сега е 11.2.

PCRE

NUL знаци (\0) во стрингови од шема сега се поддржани.

Сесија

Обидот за промена на session.cookie_samesite INI директивата додека сесијата е активна или излезот е веќе испратен сега ќе пропадне и ќе емитува предупредување. Ова го усогласува однесувањето со сите други поставки за сесијата INI.

SQLite3

sqlite3.defensive сега е INI_USER.

Стандардно

getimagesize() сега пријавува вистински димензии на сликата, битови и канали на AVIF слики. Претходно, димензиите беа пријавени како 0x0, а битовите и каналите не беа пријавени воопшто.

Swoole

Својствата на tidy класата сега се правилно декларирани. И оние на tidyNode класата сега се правилно декларирани како readonly.

candido1212 на yahoo точка com точка br

Zip екстензијата е ажурирана на верзија 1.20.0, која додава следниве методи:

Промени во ракувањето со INI датотеки

Поддршка за бинарни (0b/0B) and octal (0o/0O) prefixes has been added to integer INI settings. Integer INI settings that start with a zero (0) continue to be interpreted as an octal integer.

Parsing of some ill-formatted values will now trigger a warning when this was silently ignored before. For backwards compatibility, interpretation of these values has not changed. This affects the following settings:

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.