Skip to content
Extraits de code Groupes Projets
Bifurcation depuis spip / spip
1802 validations de retard le dépôt en amont.
  • marcimat's avatar
    c5a356a0
    refactor: Charger et utiliser le polyfill-mbstring. · c5a356a0
    marcimat a rédigé
    Les fonctions mb_ sont donc toujours disponibles ; mais qui n’activerait pas cette extension ?
    
    Le polyfill ne prend en compte que l’utf8 (et ascii).
    
    - On adapte nos fonctions en conséquence, ce qui permet d’enlever `spip_substr_manuelle()` notamment.
    - On ne teste pas la présence de pcre non plus, il est compilé toujours avec PHP
    - On déplace du code d’exécution dans une fonction `init_charset()` exécutée, mais ça serait à revoir / déplacer.
    c5a356a0
    Historique
    refactor: Charger et utiliser le polyfill-mbstring.
    marcimat a rédigé
    Les fonctions mb_ sont donc toujours disponibles ; mais qui n’activerait pas cette extension ?
    
    Le polyfill ne prend en compte que l’utf8 (et ascii).
    
    - On adapte nos fonctions en conséquence, ce qui permet d’enlever `spip_substr_manuelle()` notamment.
    - On ne teste pas la présence de pcre non plus, il est compilé toujours avec PHP
    - On déplace du code d’exécution dans une fonction `init_charset()` exécutée, mais ça serait à revoir / déplacer.
Les dépendances de ce projet sont gérées grâce à Composer. En savoir plus
composer.json 1,40 Kio
{
    "require": {
        "php": "^7.4 || ^8.0",
        "ext-sodium": "*",
        "ext-xml": "*",
        "ext-zip": "*",
        "symfony/polyfill-php80": "^1.24",
        "symfony/polyfill-php81": "^1.24",
        "symfony/polyfill-mbstring": "^1.24"
    },
    "require-dev": {
        "dealerdirect/phpcodesniffer-composer-installer": "^0.7.1",
        "phpstan/phpstan": "^1.4",
        "spip/coding-standards": "^1.2"
    },
    "suggest": {
        "ext-mbstring": "Faster than the polyfill for string actions",
        "ext-curl": "*",
        "ext-gd": "For image processing",
        "ext-mysqli": "*",
        "ext-pdo": "*",
        "ext-pdo_sqlite": "*"
    },
    "autoload": {
        "psr-4": {
            "Spip\\": "ecrire/src/"
        }
    },
    "archive": {
        "exclude": [
            "!vendor",
            "phpcs.xml.dist",
            "phpstan.neon.dist",
            "phpstan-baseline.neon",
            "!plugins-dist",
            "!squelettes-dist",
            "!config/ecran_securite.php",
            "!config/remove.txt",
            "!IMG/remove.txt",
            "!local/remove.txt",
            "!local/CACHEDIR.TAG",
            "!tmp/remove.txt",
            "!tmp/CACHEDIR.TAG"
        ]
    },
    "config": {
        "allow-plugins": {
            "dealerdirect/phpcodesniffer-composer-installer": true
        },
        "platform": {
            "php": "7.4.27"
        }
    }
}