2006-05-15 (月)
■ PHP のソースコードの整形
昔書いた PHP のスクリプトを、 PEAR のコーディング規約に沿った形に整形したい。 そう思って、いくつかのソフトを試してみた。 シンプルな例として、こんな test.php を整形させてみる。
<?
if($a==TRUE){
echo "TRUE";
}
else {
echo "FALSE";
}
?>
PHP_Beautifier
以下のコマンドを実行し、インストール。
# pear config-set preferred_state beta # pear install --alldeps PHP_Beautifier
コマンドラインから php_beautifier コマンドを実行。
php_beautifier -l "Pear()" test.php
こんな出力結果が得られた。
<?
if ($a == TRUE) {
echo "TRUE";
} else {
echo "FALSE";
}
?>
…なんだ、これは? あちこちに改行が入って、スカスカのコードになる。 マニュアルを読んだが、それを抑制するオプションも無いっぽい。 よく見たら、インデントも変わっていないじゃないか。 ダメ、却下。
phpCodeBeautifier (コマンドライン版)
コマンドライン版と GUI 版があるが、 まとめて変換したいのでコマンドライン版の方を使う。 オプションの入力を省くため、以下の phpCB.bat を作る。
phpCB.exe -space-after-if -space-after-switch -space-after-while -space-before-start-angle-bracket -space-after-end-angle-bracket -one-true-brace-function-declaration -glue-amperscore -change-shell-comment-to-double-slashes-comment -force-large-php-code-tag -force-true-false-null-contant-lowercase -align-equal-statements --padding-char-count 4 %1 %2 %3 %4 %5 %6 %7 %8 %9
phpCB.bat test.php を実行。
<?php
if ($a == true) {
echo "TRUE";
}
else {
echo "FALSE";
}
?>
これも、} の位置がおかしい。 却下。
phpCodeBeautifier (GUI 版)
仕方ないので、GUI 版を試してみる。 マニュアルに従い、以下のオプションにチェックを入れる。
- space after if
- space after switch
- space after while
- space before start angle bracket
- space after end angle bracket
- one true brace function declaration
- glue amperscore
- glue arrow
- change shell comment to double slashes comment
- force large php code tag
- force true false null contant lowercase
- align equal statements
- optimize eol
変換結果は以下の通り。
<?php
if ($a == true) {
echo "TRUE";
} else {
echo "FALSE";
}
?>
ようやく、それなりに期待通りの結果が得られた。 しかし、バッチ処理できないのが困りものだし、 微妙な部分は手作業で修正しないといけない。 例えば、最後の } の後にスペースが入ってしまっている。 難読なソースコードを読みやすくするのには使えそうだが、 これで変換してそれでOK、というわけにはいかなさそうだ。
(追記) GUI 版のオプションと見比べていたら、 コマンドライン版の } の位置をまともにする方法が分かった。 -optimize-eol オプションをつければ良い。
このエントリの続き: 2006-05-17 (水)
[コメントを書く]
本日のリンク元
- 6 http://blogger.blog360.jp/552429/12934667
- 4 google検索(PHP_Beautifier)
- 4 msn検索(php ソースコード 整形)
- 3 google検索(php ソース 整形)
- 3 google検索(php ソース 整形)
- 3 google検索(PHP ソースコード 整形)
- 2 google検索(phpCodeBeautifier)
- 2 google検索(phpCB.exe)
- 2 google検索(pear php 整形)
- 2 google検索(phpCodeBeautifier GUI)
- 2 google検索(pukiwiki ソースコード 整形)
- 2 google検索(phpcodebeautifier)
- 2 google検索(phpCB.exe)
- 2 google検索(Virus php code)
- 2 google検索(PHP_Beautifier)
- 2 google検索(phpCodeBeautifier GUI版)
- 2 google検索(PHP_Beautifier)
- 2 google検索(phpCB.exe)
- 2 google検索(ソースコード 整形 php)
- 2 http://www.google.co.jp/hws/search?hl=ja&q=php_bea...
- 2 excite検索(php ソース整形)
- 2 http://www.about-reference.com/php/pear_manual/pac...
- 2 http://www.about-reference.com/php/pear_manual/ind...
- 2 http://pukiwiki.sourceforge.jp/?自作プラグイン/cou...
- 1 http://www.google.de/search?hl=de&client=firefox-a...
- 1 google検索(phpCodeBeautifier gui)
- 1 google検索(phpCodeBeautifier)
- 1 google検索(php 整形)
- 1 google検索(PHP 出力とソースを)
- 1 google検索(PHP ソース)
- 1 google検索(ソースコード 整形 コマンド)
- 1 google検索(ソースコード整形 PHP)
- 1 google検索(ソースコード 整形 php)
- 1 google検索("one true brace" 形)
- 1 google検索(phpCodeBeautifier GUI)
- 1 google検索(php plus ソースコード)
- 1 google検索(php ソースコード 整形)
- 1 google検索(php ソースコード 改行 変換)
- 1 google検索(optimize-eol)
- 1 google検索(PHP_Beautifier インストール)
- 1 google検索(PHP 改行省く)
- 1 google検索(PHP_Beautifier pear)
- 1 google検索(PEAR PHP_Beautifier インストール)
- 1 google検索(tag force コード)
- 1 google検索(phpCB)
- 1 google検索(jQuery ソースコード)
- 1 google検索(phpcb zend)
- 1 google検索(phpcb)
- 1 google検索(php ソースコード 整形)
- 1 google検索(XREA PHP コマンドライン)
- 1 google検索(ソース 整形 gui)
- 1 google検索(ソースコード 整形)
- 1 google検索(phpCB.exe download)
- 1 google検索(phpCodeBeautifier GUI)
- 1 google検索(phpCB オプション)
- 1 http://www.google.co.uk/search?num=100&hl=en&safe=...
- 1 google検索(PHP_Beautifier)
- 1 google検索(php コード 整形)
- 1 google検索(phpCB.bat)
- 1 google検索(t)
- 1 google検索(php ソースコード 整形 GUI)
- 1 google検索(PHP ソース 整形)
- 1 google検索(zend ソースコード)
- 1 google検索(phpcodebeautifier)
- 1 google検索(php_beautifier)
- 1 google検索(phpCodeBeautifier バッチ)
- 1 google検索(phpCodeBeautifier space-before-start-angle-bracket)
- 1 google検索(phpCB.exe)
- 1 google検索(php lowercase)
- 1 google検索(php lowercase)
- 1 google検索(php if true)
- 1 google検索(php 整形 ソース)
- 1 google検索(php 整形)
- 1 google検索(php 整形)
- 1 google検索(php 整形 コード)
- 1 google検索(php ソース 整形)
- 1 google検索(php ソースコード 整形)
- 1 google検索(php ソースコードの文字化け)
- 1 google検索(php コード 整形)
- 1 google検索(php コード 整形)
- 1 google検索(php コード 整形)
- 1 google検索(php コード 整形)
- 1 google検索(php コード 整形)
- 1 google検索(php ? true : false;)
- 1 google検索(php if "?" ":")
- 1 google検索(php RFC 整形)
- 1 google検索(optimize-eol)
- 1 google検索(html php ソース 整形)
- 1 google検索(csshover.htc font change)
- 1 google検索(PHP_Beautifier インストール)
- 1 google検索(PHP_Beautifier)
- 1 google検索(PHP_Beautifier)
- 1 google検索(PHP_Beautifier)
- 1 google検索(PHP_Beautifier)
- 1 google検索(PHP Mysql 整形)
- 1 google検索(PHP 計算式 演算 ソース)
- 1 google検索(PHP 出力 ソース 整形)
- 1 google検索(PHP ソース 整形)
- 1 google検索(PHP ソースコード整形)
- 1 google検索(PHP ソースコード 改行)
