phpの拡張として、魅了的な要素がたくさん詰まったHHVM/Hack
挿入を始めるにあたって、壁にぶち当たるのがphpstormなどの様な高機能なIDEがない、
などがあげられるかもしれません
IDEに代表される様な補完機能がなかなか効かないだったり、
typecheckerで既存のライブラリが動かない、なんてこともあるのかもしれません。
hhvm-autoload
HHVMでcomposerを最適化するプラグインとして動作するライブラリです
hhi
Hackで開発する場合、厳格な型指定はメリットであり、
アプリケーション開発時にはstrict指定をすることがほとんどだと思います。
<?hh // strict // 厳格モード
ちなみにdeclにするとtype checkされません
<?hh // decl
*何も指定しない場合はパーシャルモードである程度はtype checkしますが、それ以上のことはしないモードです
厳格モードにした場合は、phpライブラリを流用する場合に型エラーが多く発生します。
その場合は、.hhconfig
に assume_php=false
を記述するなどの方法があります。
この他にhhiファイルと呼ばれる実装が無い型宣言ファイルを作成し、strictで動作させる様にすることができます。
type scriptやflowを使って開発している方はイメージがつくと思います。
このファイルを使うことで、type checker(nuclideも)がphpのライブラリであってもスムーズに利用できる様になります。
*nuclideで補完が効かないと云う方は是非お試しください
PHPUnit
HackUnitなどもありますが、デファクトスタンダードでもあるPHPUnitを利用する機会の方が多いでしょう。
PHPUnitはHackの様な完全な厳格さはありませんが、91-carriage/phpunit-hhi を使うことでコード補完などが利用できます。
Hackにのみ存在する様なコードをテストする場合は前述のHackUnitなどを使用しましょう。
なにもない状態でHackを使っている場合は
挙げたものを加えるだけで今までよりもスムーズに開発できる様になるでしょう!