CakePHPで半角カナを全角カナに変換するfilterをおいてみた

よく住所登録であるような半角英数字を全角英数字へ変換するようなfilter
取り敢えず半角カナを全角カナに変換するfilterをCakePHPにおいてみた


VENDORS内に「class/converter.php

<?php

class Converter {

    /**
     * Hankaku-kana to Zenkaku-Kana
     *
     *
     * @param mixed
     * @return mixed
     * @access public
     */
    function filterHanKana( $value ) {
        if( is_array( $value ) ) {
            foreach( $value as $k => $v ) {
                $value[$k] = $this->filterHanKana( $v );
            }
        }
        else {
            $value = mb_convert_kana( $value, 'KV' );
        }
        return $value;
    }

}

?>

どこかでよくみるソースですね・・・.


APP内の「config/bootstrap.php」に

mb_internal_encoding( 'UTF-8' );
App::import( 'Vendor', 'class/converter' );


使いたいコントローラ内に

$Converter = new Converter();

if( isset( $this->data ) ) {
    $this->data = $Converter->filterHanKana( $this->data );
}


正直ライブラリにする必要はないと思う
componentやprivate,protected関数にしても無問題