未定義かもしれない変数を空文字列にエスケープする

環境によって、未定義の変数を使用した際にnoticeが発生するのが面倒くさい。
一々ifで判定するのも面倒くさい。未定義だったら空文字列扱いして欲しい時にhtmlspecialcharsを使用する

htmlspecialchars

<?php  
    unset($undefine_value);

    // Noticeが発生する  
    echo $undefine_value;

    // Noticeは発生しない  
    echo @htmlspecialchars($undefine_value);  
?>

http://php.net/manual/ja/function.htmlspecialchars.php>
返り値
変換後の文字列を返します。
入力の string の中に 文字セット charset における無効なコードユニットシーケンスが含まれており、 かつ ENT_IGNORE フラグが設定されていなければ、 htmlspecialchars() は空文字列を返します。
<<

CakePHPのような短縮形を準備する

CakePHPのように、予め短縮形の関数を宣言しておくのも悪くはない
cake/cake/basics.php

<?  
  /**  
   * Convenience method for htmlspecialchars.  
   *  
   * @param string $text Text to wrap through htmlspecialchars  
   * @param string $charset Character set to use when escaping.  Defaults to config value in 'App.encoding' or 'UTF-8'  
   * @return string Wrapped text  
   * @link http://book.cakephp.org/view/703/h  
   */  
  function h($text, $charset = null) {  
    if (is_array($text)) {  
      return array_map('h', $text);  
    }  
    if (empty($charset)) {  
      $charset = Configure::read('App.encoding');  
    }  
    if (empty($charset)) {  
      $charset = 'UTF-8';  
    }  
    return htmlspecialchars($text, ENT_QUOTES, $charset);  
  }  
?>