はじめに
本当に「使ってみた」の報告なので、このフレームワークのどこが良いとか悪いとか詳しい部分は書きません。
経緯
ふと Packagist で自分の名前を入れてみた(本当に)

なんか出てきた…
Gongo is a micro web application framework for PHP 5.2 or later.
実は僕、PHP の micro web application framework だったそうです https://t.co/FQpdOBnV5T
— Wataru MIYAGUNI (@gongoZ) 2015, 1月 5
気になったので使ってみた
使ってみた
https://github.com/gongo/gongongo
ついでに Heroku にも上げてみました。
https://gongongo.herokuapp.com/
簡単に説明
Routing of root /
README を見るといくつかパターンがあるようですが、今回私は以下のようにしました。
class Application extends Gongo_App
{
// `/` にアクセスすると `\Gongongo\Controller\Root` の `getIndex()` を実行
public $uses = array(
'root' => '\Gongongo\Controller\Root'
);
}
// `app/` や `config/` があるパスを指定する
$app = new Application(dirname(__FILE__) . '/..');
$app->init()->run();
Routing その他 & View やアクションメソッドの設定
$uses['view']は、使用する View クラス$uses['/xxx']は、/xxxにアクセスすると実行するクラスgetIndex()だと/にアクセスした時に実行されるメソッド。- ちなみに
getFoo()ってやるとGET /foo、postFoo()だとPOST /fooです。
- ちなみに
View
$uses['template'] にテンプレートクラスを指定します。
今回は Twig を指定しましたが、他にも Smarty とか いろいろあるようです。
コントローラのアクションメソッド内で、たとえば $this->view->render($app, 'foo') を呼び出すと
template/{テンプレートクラス名}/foo.{テンプレートにあった拡張子}
が呼ばれます。
テンプレートが使用する変数は、コントローラのアクションメソッド内で
app/Controller/Repository.php#L12
$app->context->{テンプレートが参照する変数名} = 'xxx';
とかすれば大丈夫っぽい。
設定ファイル
正直ここらへんはよくわからず。わかるけど何が必須かわからず。 とりあえず 例題 を参考に、足りなさそうな部分をエラー画面見ながら追加していった感じです。
とまあそんな感じで
全部勘です
まとめ
The website written by gongo using Gongo
これ言いたかっただけ感ある。
そういえば Heroku に PHP アプリケーション上げたの初めてだったので、そこらへんも勉強になった。