404 motivation not found | t_ishidaのブログ

2月/09

4

フレームワーク(笑) – その1

フレームワーク(笑)の概要

PHPを仕事で使う事になり、PHPを勉強する材料として選んだのが「フレームワークっぽいものを作ること」と言う感じで作ったもの。

なお、これより前のフレームワーク(笑)に関する記事については、2009/2月時点では著しく情報が古いので参考程度に。

フレームワーク(笑)

特徴

  • 特徴が無い
  • やる気が無い
  • ドキュメントが無い
  • 完成していない
  • 割と薄い
  • MVC(笑)
  • ORマッパ(笑)
  • 僕しか使ってない
  • 割とバギー

適用対象

小規模Webを少人数で作る時にやる気が足りない時

ライセンス

使おうが、直そうが、そのまま自分の名前で公開しようが構わないけど、何か有っても僕は知らないし、一切のサポートしないし、バージョンアップも気が向いた時しかしないよ、僕のじゃないソースも一部含まれてる(simpletest,spyc, common.jsに一部、parsers/XMLParsers.php,parsers/JSONParsers.phpに一部)けど、それらの処遇は書いた人のライセンスに従ってねライセンス

環境

AMP

設置

今のセットだとデータストアにはDBしか使えません。

  1. フレームワーク(笑) からダウンロード
  2. htdocsに配置
  3. DBの構成決める
  4. create table文を書く
  5. [fw_root ]/tools にcreate table文のファイルを置く
  6. 出来あがったディレクトリの類を [fw_root] にコピーする
  7. [fw_root ]/define.php にDBのアクセス文字列(pear/DB.phpの奴)を定義する
  8. ジェネレートされたactions,viewsがDBの項目名のまんまになってるので日本語名に直して下さい。
  9. ジェネレートされたソースを参考にしながら適当に直して、Webアプリを作って下さい。

用語説明

Action

一つの処理を現すクラスです。ここでデータの保存をしたり、生成して、viewに渡したりします

Controller

要求の有ったアクションを判別して実行したりviewを呼び出して実行したりしてブラウザに値を返します。

View

テンプレートです。PHPそのものをテンプレートエンジンとして使います。

package_name

何の事はないただのactionsのサブディレクトリです。actions直下にactionを突っ込むと、物凄い量になってしまったりするので、サブディレクトリで分けます。

瞬間的な動きの説明

1

  1. ブラウザからリクエストは全てindex.phpで受けます
  2. Controllerクラスがロードされてリクエストの有ったactionを実行します
  3. actionが戻り値としてControllerへviewとして実行するファイル名を返します
  4. Controllerがviewとして実行したファイルの結果をブラウザに返します

ディレクトリ構成

俯瞰図

┌─actions
├─classes
├─css
├─includes
├─js
├─lib
│ ├─simpletest
│ └─spyc
├─tools
└─views

説明 – 必須のディレクトリ

actions

Actionを格納します。 通常は、{package_name}/action_name.php のようにディレクトリを作ります。

views

テンプレートの部分だけ切り出したPHPを格納します。それだけです。

lib

フレームワーク(笑)の本体です。色々入ってます。

説明 – 必須ではないけど慣例的なディレクトリ

classes

通常使うクラス類を格納します。

tools

ジェネレータが入ってます。 一回使ったら削除して良いです。

css

cssを入れます。

js

jsを入れます。

includes

ジェネレート直後のソースが使用している共通的なヘッダ、 フッタ、メニューが入ってるディレクトリ。割とどうでも 良いです

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

RSS Feed

コメントはまだありません。

Leave a comment!

<< フレームワーク(笑) – その2 – Actionクラス

フレームワーク(笑) >>

Find it!

Theme Design by devolux.org

Tag Cloud