Yapafi - Yet Another PHP Application Framework Interface

Yapafiとは

PHPの軽量1ファイルフレームワークです。以下の実現を目指しています。

使い方とか

まずはチュートリアルをご覧下さい。さらに色々知りたい方は解説一覧をご覧下さい。

動作環境

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から移植してみました。