PHP mbstring.func_overload مقابل استخدام وظائف mbstring [نسخة مكررة]

StackOverflow https://stackoverflow.com/questions/1647419

  •  22-07-2019
  •  | 
  •  

سؤال

هذا السؤال لديه بالفعل إجابة هنا:

أريد تعديل معالجة سلسلة موقعي لدعم اللغات الأخرى وفقًا لـ UTF-8.يبدو أن أفضل طريقة للقيام بذلك هي التخلي عن جميع وظائف السلسلة القياسية.

لذا، لدي خياران، يمكنني ضبطهما mbstring.func_overload الخيار في php.ini أو يمكنني الرجوع إلى الكود الخاص بي واستبدال جميع الوظائف به mb_*.أفترض أن الخيار الثاني سيكون أسهل على الأشخاص الذين يستخدمون الكود الخاص بي حيث لن يضطروا إلى تغيير تكوين القطع الخاص بهم.(إذا استطاعوا حتى!)

ماذا عن موعد صدور PHP 6؟هل ينبغي أن يكون لذلك أي عائق على خياري لأنه سيدعم المعالجة المناسبة متعددة البايت.

هل كانت مفيدة؟

المحلول

وأعتقد أن الحجة ضد mbstring.func_overload هو أنه إذا كنت تستخدم أي مكتبات/أكواد تابعة لجهات خارجية على الإطلاق، فقد يعتمد هذا الرمز على الوظيفة "العادية" للوظائف المعنية - على سبيل المثال، قد يتم استدعاء substr() لاقتطاع سلسلة تحتوي على بيانات ثنائية بدقة حد البايت، أو استخدام strlen() للحصول على الطول بالبايت، بدلاً من الطول بأحرف UTF-8.

أنظر أيضا: هل يجب علي استخدام التحميل الزائد متعدد البايت (mbstring.func_overload)؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top