PHPのプログラム内で使用されている変数群から類似する変数名を抽出し、スペルミスをチェックするPHPクラスライブラリです
PHPのプログラム内で使用されている変数群をチェックし、類似度の高い変数名(即ちスペルミスしている確率が高い変数名)を抽出し、表示します。
従来、スペルミスを発見するためにはエラー出力レベルに E_NOTICE を加え、警告文を表示させる手法がとられてきました。しかし、E_NOTICE では初期化処理しかチェックされないためそれ以外の処理については見落とされてしまいます。
このライブラリでは初期化処理以外の処理も全て走査するため E_NOTICE よりも高い精度でスペルミスを検出出来ます。 また、閾値パラメータを変化させて検出精度を自由に調整する事ができます。
下記のようにスペルミスを含むコードを仮定します。
実行結果
このコードでは$threeを$treeと間違えていますが、「$tree = 'さーん';」が初期化とみなされるためE_NOTICEではスペルミスを抽出できません。typo.phpを用いると以下のようにスペルミスが抽出可能できます。
typo.phpでは以下の様にディレクトリを指定すると、その配下の全ての.phpファイルのスペルミスを抽出することが出来ます。
また、引数にテキスト間距離の閾値を与えることによって検出精度を調整できます。デフォルトは0.2です。
インストールする環境に次のファイルをダウンロードしてください。
ダウンロードおよびインストールをしてライブラリを利用する前に、利用規約を必ずお読みください。インストールして利用を開始した際は利用規約に同意したものとみなされます。
getTypo($filename, $threshold = 0.2)
$filename で指定したファイルに含まれるスペルミス候補一覧を取得します。
array( array( 'target'=> (対象となる変数名), 'other'=> (それと似ている変数名), 'distance'=> (テキスト間距離), 'funcName'=> (変数が使われている関数・メソッド名) ), ... )
getTypoFromDir($dirName, $threshold = 0.2)
$dirName で指定したディレクトリ配下の全ての.php ファイルに含まれるスペルミス候補一覧を取得します。
array(
array(
'fileName' => (ファイル名),
'typos' =>
array(
'target'=> (対象となる変数名),
'other'=> (それと似ている変数名),
'distance'=> (テキスト間距離),
'funcName'=> (変数が使われている関数・メソッド名)
),
...
)
),
...
)
ソフトウェアを利用する前にアイデアマンズ株式会社のソフトウェア利用規約をお読みください。利用規約に同意した上でご利用ください。
「ソフトウェア利用規約」ページでは”改変をすることができません”と記載しておりますが、このソフトウェアに関してはソースコードは改変してご自由にお使い下さい。改変後のソースを公開する場合はご相談ください。