NetBeans7.4でPHP_CodeSnifferを使う

PHP統合開発環境NetBeans IDE for PHPにはPHP_CodeSniffer(以降phpcs)を使う機能が標準搭載されていて、これを設定しておくとIDE上からプログラムのコーディング規約違反を自動検出できます。

phpcsにるコーディング規約チェック内容はカスタマイズも可能なので、開発チームオリジナルのコーディングも設定可能です。

以降NetBeansへのphpcsの設定方法と、利用方法を紹介します。

設定方法

「ツール」>「オプション」(Macの場合は「NetBeans」>「Preference...」)でオプションウィンドウを開き、「PHP」 > 「コード分析」からphpcsの設定を行います。

f:id:y_d:20140219214907p:plain

このウィンドウからPEARやComposerでインストールしたphpcsのパスを指定します。
※なお、Windowsの場合はphpcs.batファイルを指定します。またphpcs.batを利用するにはPHP環境変数Pathに追加されている必要があります。

そして、すぐ下の「デフォルト標準」からコーディング規約ファイルを選択します。
※上の画像はZendになっています

これで設定は終わりです。

phpcsを実行する

設定ができたので、実際にphpcsを使ってみます。
f:id:y_d:20140219215038p:plain
メニューの「ソース」 > 「検査...」をクリックし、検査ウィンドウを立ち上げます。
f:id:y_d:20140219220903p:plain
検索ウィンドウでスコープを選択し「検査」ボタン押下でphpcsが実行され、実行が終わるとインスペクタタブに結果一覧と、コードの左側にアイコン表示されます。
このアイコンをクリックすると指摘内容がツールチップ表示されます。
f:id:y_d:20140219215819p:plain

phpcsmdプラグインを使うともっと便利に

以上がNetBeansに標準で入っているコード分析機能ですが、phpcsmdプラグインを使うとさらに見やすく、ファイル保存時に自動チェックを実施するなど細かな設定もでき便利になります。下記ページphpcsmdを紹介しているいて、こちらを参考にインストールできます。
ご参考まで。
http://junichi11.com/?p=2469


以上です。

2014年2月PHPフレームワークのトレンド

f:id:y_d:20140214020723p:plain

人気のあるPHPフレームワークについて調べていたら下記の参考になる記事がありました。

Githubのスター数」と「Googleトレンド」という観点が面白かったので、2014年2月14日現在で調べ直してみました。

Githubのスター数

PHPフレームワークを適当にピックアップし、GithubのStar順に並べて表にしました。
2013年4月21日時点では3,971だったLaravelのスター数が[*1]、2014年2月14日現在では8,319となり、第1位になったようです。

フレームワーク Star Watch Fork 最新リリース 備考
Laravel 8,319 1,115 2,728 v4.1.18
Symfony 7,820 750 2,930 v2.4.2
CodeIgniter 7,189 1,020 3,499 2.1.4
CakePHP 4,515 474 1,838 2.4.5
Zend Framework2 4,551 540 2,598 release-2.2.5
Yii 3,492 491 1,516 1.1.14
Slim 3,262 275 566 2.4.0
Phalcon 2,719 324 355 v1.2.6
Silex 2,016 197 432 v1.1.2
Kohana 1,353 156 326 v3.3.1.1
FuelPHP 1,302 123 251 v1.7.1 タグが切られていないけど最新はv1.7.1
Lithium 868 92 222 1.0-beta
Flight 520 79 73 v1.1
PHPixie 169 30 41 ?
Bullet 157 16 13 v1.3.2
Aura 116 23 27 2.0.0-beta1 一番人気のAura.Sqlリポジトリで集計
Ethna 74 12 38 2.6.0beta3
pinoco 36 8 7 0.8.1

Googleトレンド

日本国内

上記で調べたフレームワークを調べてみたところ、日本ではこの人気順になっているようです。
個人的にはですが、なんとなくネットで見かける順になっているように思います。

人気度 フレームワーク
1位 CakePHP
2位 FuelPHP
3位 CodeIgniter
4位 Symfony
5位 Zend Framework

すべての国

「すべての国」を対象にするとCodeIgniterが1番なりました。
日本で人気のFuelPHPGoogleトレンドによるとあまり人気がないようです。

人気度 フレームワーク
1位 CodeIgniter
2位 CakePHP
3位 Symfony
4位 Zend Framework
5位 Laravel


以上です。
CodeIgniter、CakePHPは日本でも世界でも人気があり、世界的にはLaravelに人気が集まりつつあるようですね。


2014/02/14 追記: Flight,PHPixieを追加しました

爆発コマンド

f:id:y_d:20140212022307g:plain

爆発しろ!という気持ちを鎮める為のシェルを書きました。
このシェルを叩くとランダムで生成された爆発のアニメーションが描画されます。
※パーティクルが密集しているところは「@」など大きめの文字で描画するなど、ちょっと凝ってます

シェルスクリプトに関する知識がなかった事もありググりながら書いたソースなので汚いですが、ソースはこちらにて公開してありますのでダウンロードして使ってみてください。
https://gist.github.com/demouth/8939731
設定値は一カ所にまとめてありますので爆発具合の調整もできます。
MacOSMacOSのターミナル.appでしか動作確認していないので他では動かないかもしれません。

個人的メモ

  • 最初キャリッジリターン(\r)を使おうかと思ったけど、文字数が増え複数行にまたがった場合上に戻れないようなのでtputを使う事にした。
  • exprを使って実装したら遅かったので$(())に書き換えたら早くなった(計測はしてない)。
  • 小数点の計算が面倒だったのでやめた。
  • エスケープシーケンスは[Ctrl]+[v]→[ESC]で入力するらしい。