Phalconでマイクロフレームワーク
久しぶりにPHPのエクステンションで書かれた超高速フレームワークPhalconを見たら
- 公式ページが見やすくなってた
- バージョンが1.0.0になってた
- annotationリーダーのライブラリができてた(そしてPhlconで使える)
- Microというクラスがあり、マイクロフレームワーク風に書けるようになってた
と、相変わらず斜め上まっしぐらな感じがします。
マイクロフレームワークはルーティングだけ欲しいのなら選択肢としてありなきがします。
Phalconのことだからオーバーヘッドも少ないでしょうし。
というわけでGWで遊んでみたい人のためのやってみよう記事。
Phalconをインストール
たぶん一番難しいのはここだけ。
- インストール方法: http://phalconphp.com/download
自分はmacのローカルに入れたので、以下のコマンドをぽちぽちたたいた。
$ git clone git://github.com/phalcon/cphalcon.git $ cd cphalcon/build $ sudo ./install
実際は複数のPHPのバージョンを入れている関係でinstallファイルに書かれているphpizeのパスを変更したり、--with-php-configの指定を変更して実行
コントローラーファイルを書く
requireなんていりません。だってPhalconだから。
- index.php
<?php $app = new Phalcon\Mvc\Micro(); $app->get('/', function () { echo "<h1>Welcome!</h1>"; }); $app->get('/say/welcome/{name}', function ($name) { echo "<h1>Welcome $name!</h1>"; }); $app->handle();
すっきり。
アクセスしてみる
ブラウザから以下のようなURLでアクセス。htaccessとか書いてないので、パスは_urlパラメータとして渡すのがコツ。
http://localhost:9999/index.php?_url=/say/welcome/brtriver
これは遊べそう。
マイクロな使い方のドキュメントは以下を参照。サンプルコードが多いからたぶん難しくないと思う。
さくらインターネットとかどこかのレンサパさん!
Phalconを標準で組み込んだPHPを使えるようにすると大ヒットするかもしれません。
まとめ
本当は BEAR.Sunday のルーターとしてPhalconを使えるようにしようとして久しぶりに見たのがきっかけだったり。腰据えてするならBEAR.Sundayのほうが面白いと思う。
あと、Silexの1.0がリリースされました。
5.3/5.4/5.5 どのバージョンでも動作します。また、5.4以上だとtraitで実装された機能も使えます。
これも要チェックです。