web-dev-qa-db-fra.com

php e() et h() fonctions?

Moi et dernièrement, je vois les fonctions h() et e() en PHP. Je les ai recherchés sur Google, mais ils sont si courts que les résultats ne donnent aucune idée de ce qu'ils sont. J'ai obtenu des résultats comme des fonctions exponentielles ou liées aux mathématiques. Par exemple:

<td><?php echo h($room['Room']['message']) ?></td>

Est-ce que quelqu'un a une idée? ou peut-être ne sont-ils pas appelés fonctions? (Je pense que j'ai lu ça il y a très longtemps, mais je me souviens de son vrai nom)

AJOUTÉE:

Merci pour les réponses. J'utilise CakePHP et j'ai également trouvé un exemple de e():

<?php e($time->niceShort($question['Question'] ['created'])) ?>

S'ils s'échappaient en quelque sorte des cordes, je pense que cela aurait du sens, car je les vois toujours juste à côté de l '"écho"

Je ne sais toujours pas ce que c'est; (

37
nacho4d

Il semble que ce soit CakePHP.

Voir e ()

e (mixed $data)

Emballage pratique pour l'écho ().

Cela a été déconseillé et sera supprimé dans la version 2.0. Utilisez plutôt echo ().

Voir h ()

h (string $text, string $charset = null)

Emballage pratique pour htmlspecialchars ().

11
Tom Haigh

Comme plusieurs lecteurs l'ont dit, ce sont des raccourcis spécifiques à CakePHP. Vous pouvez les trouver dans la documentation de l'API à: ici (pour CakePHP 2.x)

Je pense que j'ai lu que certains d'entre eux vont être supprimés en 1.3, personnellement, je n'ai jamais utilisé e() car l'écho de frappe ne prend vraiment pas beaucoup plus de temps :)

edit: e() est déconseillé en 1.3 et n'est plus disponible en 2.0 voir ici

29
Zoltan

Il s'agit très probablement de fonctions factices que quelqu'un a introduites par souci de concision. Le h (), par exemple, ressemble à un alias pour htmlspecialchars ():

function h($s)
{
    return htmlspecialchars($s);
}

Recherchez-les donc dans les fichiers include. Espec. ceux avec des noms aiment "util.php" ou "lib.php".

9
Seva Alekseyev

Le framework que vous utilisez est probablement en train de s'échapper et a défini des raccourcis pour htmlentities et htmlspecialchars ou des équivalents.

Je ferais une recherche sur le cadre que vous utilisez pour la "fonction h ("

8
Allain Lalonde

Ce sont probablement des fonctions définies et implémentées par le code du groupe que vous regardez. Je ne connais aucune fonction e/h dans le langage PHP.

Rien ici:

http://us3.php.net/manual/en/function.h.php

http://us3.php.net/manual/en/function.e.php

7
mr-sk

Il n'y a aucune fonction dans PHP appelée h() et e (). Elles doivent être déclarées dans le projet sur lequel vous travaillez. Recherchez-les) et découvrez ce qu'ils font.

6
GSto

Dans CakePHP h() est: wrapper de commodité pour htmlspecialchars ()

Pour plus d'informations sur les constantes et fonctions globales dans CakePHP, consultez ce lien

http://book.cakephp.org/2.0/en/core-libraries/global-constants-and-functions.html

3
Jack1987

C'est CakePHP.

echo h('some stuff')

Est juste htmlspecialchar() ing la substance.

3
newshorts

Je suppose que h() échappe les données soumises par l'utilisateur pour une sortie sûre et e() échappe pour l'insertion de la base de données. Quelle que soit la fonctionnalité, ce ne sont pas des fonctions de stock PHP.

3
ceejayoz

Si vous utilisez un éditeur décent, appuyez sur ctrl et cliquez sur la fonction. Cela devrait vous amener à la déclaration de la fonction.

2
AntonioCS

http://book.cakephp.org/view/121/Global-Functions ce sont des fonctions de raccourci dans cakePHP

Beaucoup d'entre eux sont obsolètes en 1.3, alors méfiez-vous de les utiliser vous-même

1
Sam D

Laravel utilise également la fonction d'assistance e() pour exécuter htmlentities sur la chaîne donnée.

echo e('<html>foo</html>');

// &lt;html&gt;foo&lt;/html&gt;

documentation: https://laravel.com/docs/5.8/helpers#method-e

0
Tamim

h() est une fonction globale dans CakePHP. Documents sur h() pour CakePHP version 2.5.7: http://book.cakephp.org/2.0/ fr/core-bibliothèques/global-constants-and-functions.html # global-functions

0
Do Nhu Vy