web-dev-qa-db-ja.com

php e() and h() functions?

私は最近、PHPでh()およびe()関数を目にしています。私はそれらをグーグルで調べました、しかしそれらは非常に短いので結果はそれらが何であるかについて何の考えも与えません。指数関数や数学関連の関数のような結果が得られました。例えば:

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

誰かがアイデアを持っていますか?または多分それらは関数と呼ばれていませんか? (私はそれについてずっと前に読んだと思いますが、本当の名前は覚えています)

追加:

返信ありがとうございます。私はCakePHPを使用しており、e()の例も見つかりました:

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

彼らが何らかの形で文字列をエスケープしていた場合、私は常に「エコー」のすぐ隣にいるので、それは理にかなっていると思います

私はまだ彼らが何であるかわかりません;(

37
nacho4d

それはCakePHPのようです。

参照 e()

e (mixed $data)

Echo()の便利なラッパー。

これは非推奨であり、2.0バージョンでは削除されます。代わりにecho()を使用してください。

h() を参照

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

Htmlspecialchars()の便利なラッパー。

11
Tom Haigh

いくつかの読者が言ったように、これらはCakePHP固有のショートカットです。それらはAPIドキュメントで次の場所にあります。 here (CakePHP 2.xの場合)

これらの一部は1.3で削除されることを読んだと思いますが、個人的にはe()を使用したことはありません。

編集:e()は1.3では非推奨であり、2.0では使用できません こちらを参照

29
Zoltan

おそらく、それらは簡潔にするために誰かが紹介したダミー関数です。たとえば、h()はhtmlspecialchars()のエイリアスのように見えます。

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

インクルードファイルで探してください。エスペック「util.php」や「lib.php」のような名前のファイル。

9
Seva Alekseyev

おそらく、使用しているフレームワークはエスケープを行っており、htmlentitiesおよびhtmlspecialcharsまたは同等のショートハンドを定義しています。

「関数h(」に使用しているフレームワークを検索します

8
Allain Lalonde

それらはおそらく、あなたが見ているグループのコードによって定義および実装された関数です。 PHP言語のe/h関数は知りません。

ここには何もない:

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

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

7
mr-sk

PHPと呼ばれるh()およびe()には関数がありません。これらは、作業中のプロジェクトで宣言する必要があります。彼らが何をしているのかを調べてください。

6
GSto

CakePHPではh()は次のとおりです:htmlspecialchars()の便利なラッパー

CakePHPのグローバル定数と関数の詳細については、このリンクを参照してください

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

3
Jack1987

それはCakePHPです。

_echo h('some stuff')
_

単にhtmlspecialchar() ingのものです。

3
newshorts

h()は安全な出力のためにユーザーが送信したデータをエスケープし、e()はデータベースを挿入するためにエスケープすると思います。機能が何であれ、これらはストックではありませんPHP関数。

3
ceejayoz

まともなエディタを使用している場合は、Ctrlキーを押しながら関数をクリックします。関数の宣言に移動します。

2
AntonioCS

http://book.cakephp.org/view/121/Global-Functions これらは、cakePHPのショートカット関数です

それらの多くは1.3で非推奨になっているので、自分で使用することに注意してください。

1
Sam D

Laravelはe()ヘルパー関数も使用して、指定された文字列に対してhtmlentitiesを実行します。

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

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

ドキュメント: https://laravel.com/docs/5.8/helpers#method-e

0
Tamim

h()は、CakePHPのグローバル関数です。 CakePHPバージョン2.5.7のh()に関するドキュメント: http://book.cakephp.org/2.0/ en/core-libraries/global-constants-and-functions.html#global-functions

0
Do Nhu Vy