

wordpressで、searchform.phpをカスタマイズしています。  
以下がコードになります。

[code]

    <?php
    function my_search_form( $form ) {
        $form = '<form role="search" method="get" id="searchform" action="'.home_url( '/' ).'" >
        <div><label class="screen-reader-text" for="s">' . __('Search for:') . '</label>
        <input type="text" value="' . get_search_query() . '" name="s" id="s" />
        <input type="submit" id="searchsubmit" value="'. esc_attr__('Search') .'" />
        </div>
        </form>';
        return $form;
    }
    add_filter( 'get_search_form', 'my_search_form' )
    
[/code]

ここで、以前から使い所がわからなかったヒアドキュメントを使ってみようかと思いました。  
$formに値(htmlコード)をいれるときに使用できるかと思いましたが、ヒアドキュメントはここで使用すべきなのでしょうか？

ヒアドキュメントについて認識不足なのかもしれません、ご教授願います。


CC BY-SA 3.0
2015-08-13T01:48:42.847
14345
2015-08-16T10:46:16.740
10057
question
php sql wordpress
PHPのヒアドキュメントの使い方 | Wordpress


ヒアドキュメント自体には単に「長い文字列を定義するのに便利な構文である」という以上の意味はありません。特に改行を多分に含む文字列を静的に定義したいときに便利です。個人的によく使うのはSQLをソース内に直接書くようなパターンですが、だからといって特定のこれこれのケースでは必ず使うべきというような事情はないと思います。

質問に挙がっているソースは [Function Reference/get search form « WordPress
Codex](https://codex.wordpress.org/Function_Reference/get_search_form)
に記載のあるものですね？ ここでのケースに関して言えば、ヒアドキュメントを使っても使わなくてもお好みで良いのではないでしょうか。

セキュリティ面に触れたのは、ユーザの入力をよく検証せずに使って画面を構築するとそのままセキュリティホールに直結する可能性があるからです。上記リンク先のNotesにもXSS脆弱性について書かれてますね。ヒアドキュメントを使っただけでセキュリティホールになるというわけではありません。


CC BY-SA 3.0
2015-08-16T10:46:16.740
14473
2015-08-16T10:46:16.740
10492
14345
answer