Mammouthはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

PHPの構文がちょっと面倒だな、と思ったら試してみたいのがMammouthです。CoffeeScriptにインスパイアされた、コンパイルするとPHPのコードを生成する記法です。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.31.00_thumb.1373946037.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.31.00.1373946037.png)
インストールはnpmを使います。つまりnode製です。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.21.57_thumb.1373946039.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.21.57.1373946039.png)
コード例。ではなく、{{と}}を使って定義します。波括弧が大幅に減っている印象です。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.30.00_thumb.1373946040.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.30.00.1373946040.png)
関数も変数のように定義します。JavaScript的です。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.30.08_thumb.1373946042.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.30.08.1373946042.png)
if/else。波括弧がなく、インデントで定義します。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.30.23_thumb.1373946043.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.30.23.1373946043.png)
forによる繰り返し。CoffeeScriptやRubyに似た記法です。

[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.30.53_thumb.1373946044.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-16 10.30.53.1373946044.png)
エラー処理。catchを書けばExceptionが自動で入るようです。

Mammouthは簡単に言えばPHPから;と波括弧を取り去った記法と言えます。switchの場合、breakが自動で入るようになっていますので注意が必要です。配列の定義が[]でできるのは書く文字が減るのがいい感じです。

MOONGIFTはこう見る

MammouthはCoffeeScriptライクな言語であり、それを共通記法としてJavaScriptを生み出すのがCoffeeScript、PHPを生み出すのがMammouthと言えます。CoffeeScriptだけ覚えればフロントエンド(JavaScript)もサーバサイド(PHP)も出来てしまうというのは理にかなっていると言えそうです。

スマートフォンのアプリ、Webサイト、クライアントサイドと覚えるべき技術は多彩に増えています。それぞれのネイティブ言語を習得するのがベストですが、そこまで時間が取れない場合は、CoffeeScriptを習得するというのは意外と近道なのかも知れませんね。

Mammouth

btwael/mammouth · GitHub