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

Обележани функции

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

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

Референца за `migration80.deprecated.php` со подобрена типографија и навигација.

migration80.deprecated.php

Обележани функции

PHP јадро

  • If a parameter with a default value is followed by a required parameter, the default value has no effect. This is deprecated as of PHP 8.0.0 and can generally be resolved by dropping the default value, without a change in functionality:

    <?php
    function test($a = [], $b) {} // Before
    function test($a, $b) {} // After
    ?>

    Ако параметар со стандардна вредност е проследен со задолжителен параметар, стандардната вредност нема ефект. Ова е застарено од PHP 8.0.0 и генерално може да се реши со отстранување на стандардната вредност, без промена во функционалноста: Type $param = nullЕден исклучок на ова правило се параметрите од типот

    <?php
    function test(A $a = null, $b) {} // Still allowed
    function test(?A $a, $b) {} // Recommended
    ?>
  • Повикување get_defined_functions() with exclude_disabled , каде што стандардната вредност null го прави типот имплицитно null. Оваа употреба останува дозволена, но се препорачува да се користи експлицитен nullable тип наместо: false експлицитно поставен на get_defined_functions() е застарено и веќе нема ефект.

Омажи

LibXML

libxml_disable_entity_loader() константите се застарени. LIBXML_NOENT е застарено. Бидејќи libxml 2.9.0 сега е задолжително, вчитувањето на надворешни ентитети е загарантирано да биде оневозможено по стандард, и оваа функција веќе не е потребна за заштита од XXE напади, освен ако (сè уште ранливиот) libxml_set_external_entity_loader() се користи. Во тој случај, се препорачува да се рефакторира кодот користејќи

за да се спречи вчитувањето на надворешни ентитети.

Стандардна библиотека

  • Алијасите на функциите во екстензијата pgsql се застарени. Погледнете ја следната листа за тоа кои функции треба да се користат наместо тоа: true or false Функциите за споредба на сортирање што враќаат

    <?php
    // Replace
    usort($array, fn($a, $b) => $a > $b);
    // With
    usort($array, fn($a, $b) => $a <=> $b);
    ?>

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

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

  • Процедуралната API на Zip е застарена. Користете ZipArchive наместо тоа. Итерацијата преку сите записи може да се постигне со користење ако нема повеќе записи за читање, или код за грешка ако се случила грешка. и for јамка:

    <?php
    // iterate using the procedural API
    assert(is_resource($zip));
    while (
    $entry = zip_read($zip)) {
    echo
    zip_entry_name($entry);
    }

    // iterate using the object-oriented API
    assert($zip instanceof ZipArchive);
    for (
    $i = 0; $entry = $zip->statIndex($i); $i++) {
    echo
    $entry['name'];
    }
    ?>

Рефлексија

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

ReflectionParameter::isCallable()
пред 4 години
If you try to get all methods / functions assigning an optional argument before a mandatory one, try this regex (single line)

<?php
function\s+[a-z][a-zA-Z0-9_]*\((?:\$[a-z][a-zA-Z0-9]*\s*,\s*)*
(?:\$[a-z][A-Za-z0-9_]*\s*=[^\$\)]+)+\$[a-z][a-zA-Z0-9_]*\)
?>

for
<?php
public function test($a, $b) {
$a = [];
$b = [$abc => $ss[],
];
}

private function too($c, $a = true, $b) {
}

protected function bar($a = []) {
}

public function foo($a, $b = true) {
} 

public function fooBar32($a=true, $b = [], $c) {
}

private function oo_bAr($a = []) {
}
?>
it will match too() and fooBar32() 

Have a nice migration! ;)
На оваа страница

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

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

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

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

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