Рейтинг: 109.9776  
На голосовании
Предложил dsxack 15.04.2015 14:06:05

Убрать зависимость от настройки mbstring.func_overload.

Идея уже была высказана несколькими годами ранее:
https://idea.1c-bitrix.ru/nezavisimost-ot-nastroyki-mbstringfuncoverload/

Но она не получила достойного обсуждения поддержки. Но ввиду последних событий, а именно - введения требования всеми компонентами Symfony требования отключенной опции mbstring.func_overload было принято решение возобновить обращение к Bitrix-разработчикам.

Уже на протяжении нескольких лет партнеры молча страдают из-за этого жесткого требования от Bitrix - не всегда есть возможность применить данную конфигурацию на хостинге клиента.

Разработчики, которые хоть когда-нибудь работали с библиотекой PHPExcel для обработки операций с XLS помнят, какой это тяжелый труд - переводить весь сайт с UTF-8 на WINDOWS-1251 только из-за того, что эта библиотека не работает с mbstring.func_overload. Или воовсе приходилось отказываться от работы с XLS.

Итак, когда разработчики Symfony ввели требование не поддерживать mbstring.func_overload - это полностью сломало совместимость рабочего окружения Bitrix и всех инструментов, которые используют в своей базе те или иные компоненты от Symfony.

Я понимаю. Сделать это изменение сейчас - не представляется возможным, так как уже есть куча клиентов у которых заинтегрированны алгоритмы с использованием mbstring.func_overload.

Но скоро будет выпуск php7, который итак сломает весь код клиентов. Я предлагаю включить это изменение в релиз Bitrix, который будет работать с php7 (если таковой вообще планируется).

В будущем я собираюсь призывать PHP-сообщество к запрету и удалению функционала mbstring.func_overload. Даже сами разработчики PHP пишут:

Не рекомендуется использовать перегрузку функций в контексте поддиректорий, так как добиться стабильной работы в этом случае пока не удалось, и это может привести к неожидаемому поведению приложения.

http://php.net/manual/ru/mbstring.overload.php