私は最近、PHPでh()
およびe()
関数を目にしています。私はそれらをグーグルで調べました、しかしそれらは非常に短いので結果はそれらが何であるかについて何の考えも与えません。指数関数や数学関連の関数のような結果が得られました。例えば:
_<td><?php echo h($room['Room']['message']) ?></td>
_
誰かがアイデアを持っていますか?または多分それらは関数と呼ばれていませんか? (私はそれについてずっと前に読んだと思いますが、本当の名前は覚えています)
返信ありがとうございます。私はCakePHPを使用しており、e()
の例も見つかりました:
_<?php e($time->niceShort($question['Question'] ['created'])) ?>
_
彼らが何らかの形で文字列をエスケープしていた場合、私は常に「エコー」のすぐ隣にいるので、それは理にかなっていると思います
私はまだ彼らが何であるかわかりません;(
おそらく、それらは簡潔にするために誰かが紹介したダミー関数です。たとえば、h()はhtmlspecialchars()のエイリアスのように見えます。
function h($s)
{
return htmlspecialchars($s);
}
インクルードファイルで探してください。エスペック「util.php」や「lib.php」のような名前のファイル。
おそらく、使用しているフレームワークはエスケープを行っており、htmlentities
およびhtmlspecialchars
または同等のショートハンドを定義しています。
「関数h(」に使用しているフレームワークを検索します
それらはおそらく、あなたが見ているグループのコードによって定義および実装された関数です。 PHP言語のe/h関数は知りません。
ここには何もない:
PHPと呼ばれるh()およびe()には関数がありません。これらは、作業中のプロジェクトで宣言する必要があります。彼らが何をしているのかを調べてください。
CakePHPではh()は次のとおりです:htmlspecialchars()の便利なラッパー
CakePHPのグローバル定数と関数の詳細については、このリンクを参照してください
http://book.cakephp.org/2.0/en/core-libraries/global-constants-and-functions.html
それはCakePHPです。
_echo h('some stuff')
_
単にhtmlspecialchar()
ingのものです。
h()
は安全な出力のためにユーザーが送信したデータをエスケープし、e()
はデータベースを挿入するためにエスケープすると思います。機能が何であれ、これらはストックではありませんPHP関数。
まともなエディタを使用している場合は、Ctrlキーを押しながら関数をクリックします。関数の宣言に移動します。
http://book.cakephp.org/view/121/Global-Functions これらは、cakePHPのショートカット関数です
それらの多くは1.3で非推奨になっているので、自分で使用することに注意してください。
Laravelはe()
ヘルパー関数も使用して、指定された文字列に対してhtmlentitiesを実行します。
echo e('<html>foo</html>');
// <html>foo</html>
h()
は、CakePHPのグローバル関数です。 CakePHPバージョン2.5.7のh()
に関するドキュメント: http://book.cakephp.org/2.0/ en/core-libraries/global-constants-and-functions.html#global-functions