« Macをリカバリー | トップページ | 腐ったリンゴは他のリンゴも腐らせる »

2007/09/15

Web用フレームワーク

稚拙ではありますが、僕専用Webフレームワークができたので公開してみます。 使い方を簡単に説明すると、

  1. MySQLまたはAccess(ADO経由なので、やろうと思えば全てのDBを扱えるということにもなるか...)でデータベースを作成し、適当なテーブルを用意する。
  2. 用意したテーブルに合わせてControlクラスを継承したクラスを作成する
  3. スクリプト内で生成したクラス用変数を宣言し、main()メソッドを実行
というステップで、追加・一覧・編集という必要最低限の機能が実現できます。

MySQLの使用には追加の設定が必要ですが、Windowsの場合はRubyをインストールした直後に実行可能なフレームワークとなっています。「Rails使えば良いじゃん」という意見が出てきそうですが、ずいぶん制約を受ける状況で開発をしたのでこんな感じになりました。

最低限必要なファイルは、
クラス用
 base/model.rb
 base/view.rb
 base/control.rb
 base/dbconnetct_mdb.rbまたはdbconnect_mysql.rb
 base/html.rb
 base/tools.rb
ページテンプレート用
 tpl/page_main.html
です。これに、クラス読み込みや各種設定用のheaderファイルを作成して使います。

例えば、MySQLを使って本の管理をするならば、下記の手順で作成することができます。

データベースとテーブルの作成
データベース名はとりあえず「sample」、書籍名、著者名を入力するとして、id, name, priceという列を持ったテーブルを作成します。

create database sample;
create table books {
  id integer primary key,
  name varchar(256),
  price varchar(256)
};

本用クラスの作成
books.rbという名前でファイルを作成し、class用ディレクトリに保存します。内容は下記になります。

class Books < Control
  
  def initialize()
    super("books")
    @title = "書籍"
  end
  
end

実行用ファイルの作成
サイトのルートディレクトリにindex.rbというファイルを作って、以下の内容を記述します。

#!/usr/local/bin/ruby

load "header.rb"

obj = Books.new()
obj.main()
ちなみに、header.rbの内容は下記です。
$dir = Dir.getwd + "/"
require "class/header_base.rb"

load $class_dir + 'books.rb'

$db_host = "localhost"
$db_user = "root"
$db_pass = ""
$db_name = "sample"

$debug = true

「そんな説明じゃわからない!」という声が聞こえてきそうですが、まぁとりあえず百聞は一見にしかずなので、興味が湧いた人がいれば下記リンクからソースをダウンロードしてみてください。
もちろん、「これじゃだめだよ」という意見があれば是非聞かせて頂きたいと思いますので、よろしくお願い致します。

「framework.zip」をダウンロード

ついでにサンプルで紹介したWebアプリケーション(と呼ぶにはあまりに稚拙ですが...)はこちら(書籍)になります。

|

« Macをリカバリー | トップページ | 腐ったリンゴは他のリンゴも腐らせる »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/79953/16462079

この記事へのトラックバック一覧です: Web用フレームワーク:

« Macをリカバリー | トップページ | 腐ったリンゴは他のリンゴも腐らせる »