Yapafiとは
PHPの軽量1ファイルフレームワークです。以下の実現を目指しています。
- MVCに即した開発
- クールなURLとREST対応
- PHPの特性を損なうことなく、なるべく生PHPに近い記述ルール
- 学習コストが低い
- テンプレートは生PHP
- 必要以上にオブジェクトを作らず関数で何とかする
使い方とか
まずはチュートリアルをご覧下さい。さらに色々知りたい方は解説一覧をご覧下さい。
動作環境
PHP5.1以上です。依存モジュールはありません。PHP5.3の新機能も色々使いたかったのですけど、そもそもの目標がPHP5.2で動くことだったので諦めました。
開発の経緯とか
PHPで書くとなると、フルスタックのフレームワークか、生で書くかになってしまうので、その間を埋めるようなフレームワークが欲しくて作りました。
モジュール等もフレームワーク側で全部準備するのではなく、好みのモジュールをプラガブルに使うことを想定しています。
基本的にコントローラ以外は余計なクラスは作らず、生PHPに近い感覚で書けるように作成しています。$_POSTとか$_GETとか$_SESSIONとかバリバリ使いましょう(笑)
PHPにはもともと「なるべく関数で解決する」という考え方があると思うので、Yapafiでは余計なユーティリティクラスも作らず、グローバルに便利関数を幾つか定義しています。
PHPは優れた「テンプレート言語」だと思うので、その特性を活かさない手はありません。short_open_tagを使えないとその魅力も半減すると思うので、テンプレートファイルではを有効にしておくことを個人的には推奨します。困るのはXML宣言のときくらいです。
古き良き(?)PHPを残しつつ、上手くオブジェクト指向を使うことを目指しています。また、当然、E_ALL | E_STRICT で動くようにしてあるので書き方が古いわけではありませんし、急に使えなくなることもないでしょう。
ちなみに
数年前にPerl界隈で起こった軽量フレームワーク開発ブームがありましたが、それに動機が似ていると思っています。YacafiやMENTAインスパイアな部分が多分にあります。
また、幾つかのモジュールをPerlから移植してみました。