phpCBを使って、コード整形をする

emacsのM-x alignが便利すぎるとTwitterでつぶやいていたら、
phpCB(phpCodeBeautifier)というコード整形ツールも便利ですよと id:dix3 さんに教えてもらいました。


公式ページ:http://www.waterproof.fr/products/phpCodeBeautifier/


Ubuntu(バージョン9.10 64bit VMWare Fusion上の仮想環境)にインストールしようとしてハマったので、
メモを残しておきます。

ダウンロード

http://www.waterproof.fr/products/phpCodeBeautifier/download.php
Linux版を落としてきます。2010/4/27現在、最新verは1.0.1です。

解凍

% tar zxvf phpCB-1.0.1-linux.tgz

解凍してできたディレクトリに移動

% cd phpCB-1.0.1-linux

phpCBをパスが通っているディレクトリ(自分は/usr/local/bin/以下にしました)に移動する

% cp phpCB /usr/local/bin/

一般ユーザも実行できるように権限を与えます

% cd /usr/local/bin
% sudo chmod 777 phpCB

実行権限も与えます

% sudo chmod +x phpCB

Linuxの環境が32bitであれば


% phpCB オプション 変換したいファイル名 > 変換後のファイル名


のようにして実行できるようになるみたいなのですが、自分の環境が64bitだったため、


実行すると、


% unable to execute /usr/local/bin/phpCB


というメッセージが出て実行できません。。。
どうも、phpCBは32bit環境でしか動かないバイナリファイルのようです。
GWに32bit環境構築して試そうかとあきらめかけていたところに、
id:dix3 さんより救いの声が!

@ojimac 64bit でも aptitude install lsb-core lsb-core-noarch とかでいけないかな? この辺自信なしですが。。


ということで、


% sudo aptitude install lsb-core lsb-core-noarch


としてから、もう一度


% phpCB オプション 変換したいファイル名 > 変換後のファイル名


とするとうまく行きました!


ちなみに、どんな感じに整形されるかというと、

<?php
function(){echo 'hoge';}
?>


上のようなコードが、

<?php

function()
{
    echo 'hoge';
}

?>

のように整形されます!
実行する時につけるオプションは、


http://www.waterproof.fr/products/phpCodeBeautifier/manual.php


にあるマニュアルで確認できます。
上の例は、マニュアルのExampleをオプションに付けた結果です。


これでスタイルの違うコードでも自分の使っているスタイルに合わせて(逆も)使う事が簡単にできるようになりました!

最後に、id:dix3 さん、ありがとうございました!

あとがきのようなもの

それにしても、前にATND検索の開発中に、分からないところをつぶやいていた(ぼやいていたとも言いますね><)ときにも助けてくれた方がいて、自分が得た事とか、分からない事とかを発信すると、それに応えてくれる土壌がネットの世界にはあるとしみじみ感じます。
ネットの世界はすばらしいですね。
自分も、せっかく教えてもらっておいて、自分の中だけに閉じ込めておいたのではもったいないので、
このメモが同じようにハマってしまって困っている人の助けになればうれしいです。