View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007276 | OXID eShop (all versions) | 4. ------ eShop Core ------- | public | 2021-09-14 15:27 | 2025-02-12 11:26 |
Reporter | michael_keiluweit | Assigned To | |||
Priority | low | Severity | tweak | Reproducibility | always |
Status | closed | Resolution | no change required | ||
Product Version | 6.3.1 | ||||
Summary | 0007276: Shop wants to use functions from the extension Intl, but it isn't required | ||||
Description | First things first: The shop works as intended. The shop code uses functions of the PHP extension Intl (https://www.php.net/manual/de/book.intl.php). But each place where the Intl functionality is used, the framework checks first if the PHP extension is installed. The check is done because the PHP extension isn't explicitly required by our system requirements: https://docs.oxid-esales.com/eshop/de/latest/installation/neu-installation/server-und-systemvoraussetzungen.html This raises the question why the framework wants to use the Intl functions, but it's optional to install the extension. I see a few "solutions": - Add the Intl extension as requirement. - Add a description why Intl should be installed (benefits?), but don't have to. - Removing of the 'if exists' checks. | ||||
Additional Information | For example, the method \OxidEsales\EshopCommunity\Core\Email::idnToAscii is using one of these and checks beforehand, if the function exists. | ||||
Tags | No tags attached. | ||||
Theme | Not defined | ||||
Browser | Not defined | ||||
PHP Version | Not defined | ||||
Database Version | Not defined | ||||
|
The report is invalid in its current form as the intl extension is no longer necessary for this method since PHP 5.3 as the functionality was integrated into the PHP core. I will create an internal clean-up-task to remove all unnecessary function_exists checks for a few methods where this applies, but I see no real need for this. (minor performance gain) |