2007/08/13 2007/08/14
現在作成中の自作フレームワークについて少し解説をば。
元々フレームワークがどんな仕組みで動くかをEthnaで勉強した為、Ethnaの構成に近いといえば近いです。
PHP + PEAR + MySQL + Apacheが基礎構成です。
フレームワークはMVC系で、
・DBアクセスサポート(DBオープンまで)
・セッション管理
・フォーム値に対するバリデートチェック
・テンプレートエンジン
・プロジェクト生成ツール
が主な機能になります。
DBアクセスサポートについてはPEAR::DBベースの接続である為、今回はMySQLですがPostgresやOracleなんかも繋がるでしょう。
といってもSQLは直書きなので切り換え時は作成したプロジェクトのソース修正が必要です。
将来的にO/Rマッパーを搭載したい所。
セッション管理はEthnaと違って使用宣言等は必要なく、セッション保持等はあまり意識せずに使えるものにしています。
バリデートチェックはまぁWebフレームワークとして重要な部分ですね。
ここはまだ最低限の機能だけ用意した発展途上な部分ではあるので、今後チェック内容を充実させていく予定です(郵便番号チェックとか)
カスタムチェックは既に使えるようにはしてあります。
テンプレートエンジンは本当はsmartyを使おうと最初は思っていたのですが、内部に手を入れるような機能追加があるとやだなと思って勉強ついでに自作。
ていうか大分お勉強になりました。構文解析って難しい…。
最終的にPHPソースに起こしたものをキャッシュするようにもしたので結構速いはず。
(ローカルマシン(XAMPP)上でもちょっとした表示なら50msec位で1ページ表示出来ますが、自宅サーバー上だと20msec位で出るみたいで更に速いっすね。)
プロジェクト生成ツールはこれはWindows上での使用のみですがActionやViewなどのスケルトンをコマンドで生成出来るようにしています。
なのでプロジェクト作成コマンド一発で初期ページは表示出来るようになります。
とまぁこんな感じです。
色々頑張ってここまで辿り着いてるので全然書き足らない感たっぷりですが、独りよがりになりそうなのでここいらでやめときます。
関連記事はありません。
コメントとトラックバック
コメントはありません