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

Нови одлики

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

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

Референца за `migration73.new-features.php` со подобрена типографија и навигација.

migration73.new-features.php

Нови одлики

PHP јадро

Пофлексибилна синтакса за Heredoc и Nowdoc

Затворачкиот маркер за стринг документи повеќе не мора да биде проследен со точка и запирка или нов ред. Дополнително, затворачкиот маркер може да биде вовлечен, во кој случај вовлекувањето ќе биде отстрането од сите редови во документот.

Деструктурирањето на низи поддржува доделување референци

Деструктурирањето на низи сега поддржува доделување референци користејќи ја синтаксата [&$a, [$b, &$c]] = $d. Истото се поддржува и за list().

Операторот Instanceof прифаќа литерали

instanceof сега дозволува литерали како прв операнд, во кој случај резултатот е секогаш false.

CompileError исклучок наместо некои грешки при компилација

Нов CompileError е додаден исклучок, од кој ParseError наследува. Мал број грешки при компилација сега ќе фрлат CompileError наместо да генерира фатална грешка. Моментално ова влијае само на грешки при компилација што може да бидат фрлени од token_get_all() in TOKEN_PARSE режим, но повеќе грешки може да бидат претворени во иднина.

Завршни запирки се дозволени во повици

Завршните запирки во повици на функции и методи сега се дозволени.

Поддршка за Argon2id

На --with-password-argon2[=dir] аргументот за конфигурација сега обезбедува поддршка за хешови Argon2i и Argon2id во password_hash(), password_verify(), password_get_info()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во password_needs_rehash() функции. Лозинките може да се хешираат и верификуваат користејќи ги PASSWORD_ARGON2ID константа. Поддршка за Argon2i и Argon2id во --with-password-argon2[=dir] функциите сега бараат PHP да биде поврзан со референтната библиотека libargon2 ≥ 20161029.

FastCGI менаџер на процеси

Додадени се нови опции за прилагодување на FPM логгирањето:

log_limit
Оваа глобална опција може да се користи за поставување на лимитот за лог за запишаната линија, што овозможува запишување пораки подолги од 1024 знаци без прекин. Исто така, поправа разни проблеми со прекини.
log_buffering
Оваа глобална опција овозможува експериментално логгирање без дополнително баферирање.
decorate_workers_output
Оваа опција на пул овозможува да се оневозможи украсувањето на излезот за излезот на работниците кога catch_workers_output е овозможено.

BC Математички функции

bcscale() сега може да се користи и како гетер за добивање на моменталната скала во употреба.

Протокол за пристап до лесна директориумска услуга

Додадена е целосна поддршка за LDAP контроли во LDAP функциите за прашување и ldap_parse_result():

hans at loltek dot net

Целосна поддршка за мапирање и превиткување на случајот

Додадена е поддршка за целосно мапирање и превиткување на случајот. За разлика од едноставното мапирање на случајот, целосното мапирање на случајот може да ја промени должината на низата. На пример:

<?php
mb_strtoupper
("Straße");
// Produces STRAßE on PHP 7.2
// Produces STRASSE on PHP 7.3
?>
Различните режими за мапирање и превиткување на случајот се достапни преку mb_convert_case(): Се врши само безусловно, јазично агностичко целосно мапирање на случајот.

Операциите со низи што не ги земаат предвид случајот користат превиткување на случајот

Операциите со низи што не ги земаат предвид случајот сега користат превиткување на случајот наместо мапирање на случајот при споредби. Ова значи дека повеќе знаци сега ќе се сметаат (независно од случајот) за еднакви.

MB_CASE_TITLE врши конверзија во насловна форма

mb_convert_case() with MB_CASE_TITLE сега врши конверзија во насловна форма врз основа на изведените Unicode својства Cased и CaseIgnorable. Особено, ова исто така ја подобрува обработката на наводници и апострофи.

Поддршка за Unicode 11

На Повеќебајтни низи табелите со податоци се ажурирани за Unicode 11.

Поддршка за долги низи

На hans at loltek dot net сега правилно поддржува низи поголеми од 2GB.

Подобрувања на перформансите

Перформансите на Повеќебајтни низи екстензијата се значително подобрени насекаде. Најголемите подобрувања се во функциите за конверзија на случај.

Поддршка за именувани зафаќања

На mb_ereg_* функциите сега поддржуваат именувани зафаќања. Функциите за совпаѓање како mb_ereg() сега ќе враќаат именувани зафаќања и со нивниот број на група и со нивното име, слично на PCRE:

<?php
mb_ereg
('(?<word>\w+)', '国', $matches);
// => [0 => "国", 1 => "国", "word" => "国"];
?>
Дополнително, mb_ereg_replace() сега ја поддржува \k<> and \k'' нотации за повикување на именувани зафаќања во низата за замена:
<?php
mb_ereg_replace
('\s*(?<word>\w+)\s*', "_\k<word>_\k'word'_", ' foo ');
// => "_foo_foo_"
?>
\k<> and \k'' може да се користи и за нумерички референци, што исто така работи со броеви на групи поголеми од 9.

script.bat -h

Поддршка за completion_append_character and completion_suppress_append опции е додадена во readline_info()password_*()

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

[email protected]
пред 6 години
"Trailing commas in function and method calls are now allowed" means function parameters, example:

<?php

function my1() {
        echo "xxxxxx\n";
}

function my2() {
        echo "yyyyyy\n";
}

my1(),my2(); // PHP Parse error:  syntax error

my1(,); // PHP Parse error:  syntax error

my1(1,); my2(2,); // OK

?>
На оваа страница

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

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

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

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

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