PHPといえば「ほーむぺーじ」を作るためにあるような言語なわけだが、何故か自分はコマンドラインアプリを作る機会が多い*1ので、引数のパースについて少し考えてみる。 対象ファイルとスイッチのオンオフ程度なら$argvを回しながら自前でパースしても事足りるんだけど、オプションに引数が付いたり省略可能だったりと複雑になってくると何らかのライブラリを頼った方が圧倒的に簡単になる。 選択肢 コマンドラインの解析にはいくつかの方法がある。 標準のgetopt()関数 PEARのConsole_Getopt PEARのConsole_GetoptPlus PEARのConsole_Getargs PEARのConsole_CommandLine Zend FrameworkのZend_Console_Getopt メジャーなところだとざっとこんなもん。 PEARの4つについてはPEAR :: Manua