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

Функција за преоптоварување на функции

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

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

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

mbstring.overload.php

Функција за преоптоварување на функции

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Претходната порака за грешка DEPRECATED Оваа функција е REMOVED од PHP 7.2.0, и

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

mbstring поддржува функција за „преоптоварување на функции“ која ви овозможува да додадете мултибајтна свесност на таква апликација без модификација на кодот со преоптоварување на мултибајтни пандани на стандардните функции за низи. На пример, mb_substr() се повикува наместо substr() ако е овозможено преоптоварување на функции. Оваа функција го олеснува пренесувањето на апликации кои поддржуваат само еднобајтни кодирања во мултибајтно опкружување во многу случаи.

За да го користите преоптоварувањето на функции, поставете mbstring.func_overload in php.ini на позитивна вредност што претставува комбинација од битни маски што ги специфицираат категориите на функции што треба да се преоптоварат. Треба да се постави на 1 за да се преоптовари функцијата mail() . 2 за функции за низи, 4 за функции за регуларни изрази. На пример, ако е поставено на 7, ќе се преоптоварат функциите mail, низи и регуларни изрази. Списокот на преоптоварени функции е прикажан подолу.

Функции што треба да се преоптоварат
вредност на mbstring.func_overload оригинална функција преоптоварена функција
1 mail() mb_send_mail()
2 strlen() mb_strlen()
2 strpos() mb_strpos()
2 strrpos() mb_strrpos()
2 substr() mb_substr()
2 strtolower() mb_strtolower()
2 strtoupper() mb_strtoupper()
2 stripos() mb_stripos()
2 strripos() mb_strripos()
2 strstr() mb_strstr()
2 stristr() mb_stristr()
2 strrchr() mb_strrchr()
2 substr_count() mb_substr_count()

Забелешка:

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

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

Анонимен
пред 10 години
it's kinda evil and gives you tons of headache.
Анонимен
пред 9 години
I took over a project with this "feature" enabled... took me a while to figure out why strings behaved non language standard. So, if you like to make grown men cry - by all means enable this deathtrap.
Грант
пред 11 години
In short, only use mbstring.func_overload if you are 100% certain that nothing on your site relies on manipulating binary data in PHP.
Оливер Балц
пред 15 години
In case you need to (de)activate the overloading for a specific directory, try setting an appropriate php_admin_value in your httpd.conf, e.g.

<Directory ...>
   ...
   php_admin_value mbstring.func_overload 7
</Directory>

I'm not 100% sure if one can rely on that, but it seems to work for me.
На оваа страница

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

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

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

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

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