Existe-t-il un moyen de surcharger l'opérateur gettext de php _ ()?

I have a PHP application with tons of lines and gettext calls such as _("some text")

Existe-t-il un moyen de surcharger cet opérateur _ ("") pour effectuer des vérifications d'exécution? Quelque chose comme:

function _($argument) {

    $result = _($argument);//this would be the non-overloaded _()

    /* perform some checks or logging */

    return $result;
}
1
Vous ne pouvez pas le faire comme vous voulez. stackoverflow.com/questions/4697705/php-function-overloading
ajouté l'auteur naththedeveloper, source
Il n'y a aucun moyen en PHP pour redéclare la fonction. Vous obtiendrez une erreur "la fonction avec le prénom existe déjà". Vous pouvez soit utiliser des espaces de noms comme Mark dit ci-dessous, ou simplement faire une autre fonction.
ajouté l'auteur Stalinko, source

1 Réponses

Namespacing peut-être:

namespace myUnderscore;

function _($argument) {
    $result = \_($argument);//this would be the non-overloaded _()
    /* perform some checks or logging */
    return strrev($result);
}

$argument = 'gazebo';
echo _($argument) . PHP_EOL;//call overloaded _()

echo \_($argument) . PHP_EOL;//call non-overloaded _()
4
ajouté