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

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

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

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

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

migration84.deprecated.php

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

PHP јадро

Имплицитно дозволен параметар

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

Следнава шифра:

<?php
function foo(T1 $a = null) {}
треба да се претвори во:
<?php
function foo(T1|null $a = null) {}
or
<?php
function foo(?T1 $a = null) {}

Меѓутоа, ако таквата декларација на параметар е проследена со задолжителен параметар:

<?php
function foo(T1 $a, T2 $b = null, T3 $c) {}
Мора да се претвори во:
<?php
function foo(T1 $a, T2|null $b, T3 $c) {}
or
<?php
function foo(T1 $a, ?T2 $b, T3 $c) {}
како опционален параметар пред да се отфрлат задолжителните.

Подигнување нула на негативен степен

Подигнувањето број на негативен степен е еквивалентно на земање на реципрочната вредност на бројот подигнат на позитивниот спротивен степен. Тоа е, 10-2 е исто како 1 / 102. Затоа, подигнувањето 0 на негативен степен одговара на делење со 0, т.е. 0-2 е исто како 1 / 02, или 1 / 0. Така, ова однесување е отфрлено.

Ова влијае на операторот за експоненцијација ** Пример #4 Споредување на вратената вредност на include pow() function.

Ако се посакуваат семантиките на IEEE 754, треба да се користи новиот fpow() function.

Користење на долна црта _ како име на класа

Именување на класа _ сега е отфрлено:

<?php
class _ {}

Забелешка:

Класите чии ими започнуваат со подвлекување се not застарени:

<?php
class _MyClass {}

Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува: trigger_error() with E_USER_ERROR

Повикување trigger_error() with error_level еднакви на E_USER_ERROR не е валидна опција

Таквите употреби треба да се заменат со фрлање исклучок или повикување exit(), што и да е посоодветно.

На E_STRICT constant

Бидејќи E_STRICT нивото на грешка е отстрането, овој констант сега е застарен.

cURL

На CURLOPT_BINARYTRANSFER константата сега е застарена.

Датум

На DatePeriod::__construct(string $isostr, int $options = 0) потписот е застарен. Користете DatePeriod::createFromISO8601String() instead.

На SUNFUNCS_RET_TIMESTAMP, SUNFUNCS_RET_STRINGПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во SUNFUNCS_RET_DOUBLE константите сега се застарени. Ова произлегува од застарувањето на date_sunset() and date_sunrise() функциите во PHP 8.1.0.

DBA

Поминување null or false to dba_key_split() сега е застарена. Секогаш би враќала false во тие случаи.

DOM

На DOM_PHP_ERR константата сега е застарена.

Следниве својства се формално застарени:

Хеш

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

Меѓународен

Повикување intlcal_set() or IntlCalendar::setDateTime() со повеќе од два аргументи е застарено. Користете или (PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1) or IntlCalendar::setDate() instead.

Повикување intlgregcal_create_instance() or без аргументи. Види исто така со повеќе од два аргументи е застарено. Користете или Ова беше отфрлено во корист на методите or IntlGregorianCalendar::createFromDate() instead.

LDAP

Повикување ldap_connect() со повеќе од два аргументи е застарено. Користете ldap_connect_wallet() instead.

Повикување ldap_exop() со повеќе од четири аргументи е застарено. Користете ldap_exop_sync() instead.

MySQLi

На mysqli_ping() функција и mysqli::ping() методот сега се застарени бидејќи функцијата за повторно поврзување беше отстранета во PHP 8.2.0.

На mysqli_kill() функција и mysqli::kill() методот сега е застарен. Ако оваа функционалност е потребна SQL KILL команда може да се користи наместо тоа.

На mysqli_refresh() функција и » MySQL Refresh методот сега е застарен. Ако оваа функционалност е потребна SQL FLUSH команда може да се користи наместо тоа. Сите MYSQLI_REFRESH_* константи се исто така застарени.

Поминување на mode , како mysqli_store_result() експлицитно е застарено. Бидејќи MYSQLI_STORE_RESULT_COPY_DATA константата се користеше само во комбинација со оваа функција, таа исто така е застарена.

PDO_PGSQL

Користењето на избегнати знаци прашалник (??) внатре во низи со долар-цитирање е застарено. Бидејќи PDO_PGSQL сега има свој SQL парсер со поддршка за низи со долар-цитирање, веќе не е потребно да се избегнуваат знаци прашалник внатре во нив.

PGSQL

Сигнатурата со 2 аргументи на pg_fetch_result(), pg_field_prtlen()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во pg_field_is_null() сега е застарена. Користете ја сигнатурата со 3 аргументи со row постави на null instead.

Рефлексија

Повикување , тогаш експортот се враќа како со еден аргумент е застарено. Користете ReflectionMethod::createFromMethodName() instead.

Сесија

Повикување session_set_save_handler() со повеќе од два аргументи е застарено. Користете ја наместо тоа потписот со два аргументи.

Промена на вредноста на session.sid_length and session.sid_bits_per_character INI поставките е застарено. Ажурирајте ја бек-енд локацијата за складирање на сесиите за да прифаќа 32-битни хексадецимални ID на сесии и престанете да ги менувате овие две INI поставки наместо тоа.

Промена на вредноста на session.use_only_cookies, session.use_trans_sid, session.trans_sid_tags, session.trans_sid_hostsПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во session.referer_check INI поставките е застарено. На SID константата е исто така застарена.

SOAP

Поминување на int to Овие опционални параметри ќе бидат предадени на конструкторот на стандардната класа при креирање на објектот. е сега застарено. Ако сите PHP функции треба да бидат обезбедени, израмнете ја низата вратена од get_defined_functions().

На SOAP_FUNCTIONS_ALL константата сега е застарена.

SPL

На SplFixedArray::__wakeup() методот сега е застарен, бидејќи имплементира SplFixedArray::__serialize() and SplFixedArray::__unserialize() кои треба да бидат презапишани наместо тоа.

Користењето на стандардната вредност за escape параметарот за SplFileObject::fputcsv(), SplFileObject::fgetcsv()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во - Добива линија од датотечен покажувач и парсира за CSV полиња е сега застарено. Мора експлицитно да се помине или позиционо или преку именувани аргументи. Ова не се однесува на SplFileObject::fgetcsv() and - Добива линија од датотечен покажувач и парсира за CSV полиња if SplFileObject::fputcsv() беше искористено за поставување нова стандардна вредност.

Стандардно

Повикување stream_context_set_option() со два аргументи е застарено. Користете stream_context_set_options() instead.

Десериализација на низи користејќи ги големите букви S таг со unserialize() е застарено.

Користењето на стандардната вредност за escape параметарот за fputcsv(), fgetcsv()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во str_getcsv() е сега застарено. Мора експлицитно да се помине или позиционо или со именувани аргументи.

XML

На xml_set_object() функцијата е застарена.

Поминување на не-callable низи на xml_set_* функциите сега е застарено.

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

[email protected]
пред 1 година
Try using [$this, 'method_string'] in place of 'method_string' for functions like xml_set_element_handler, etc. 

As in xml_set_element_handler($this-parser, [$this, 'method'], [$this, 'another_method']);  

This is what the note about "callable" means--you need to reference the actual method in a callable way, not just use a string.
На оваа страница

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

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

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

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

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