Chapter 53. 例題: 新しいプログラムを作る

Table of Contents
ケーススタディ: fmlsch を作る。
ケーススタディ: fmlsch.cgi

ここでは、単純なスケジュール表示ソフトを例にとり、fml8 のフレー ムワークの中で新しいプログラムを追加するにはどうすれば良いのかを説明し ます。 以下、プログラム名は fmlsch とし、その CGI 版が fmlsch.cgi です。

ケーススタディ: fmlsch を作る。

ステップ 1: インストーラに fmlsch を付け加える

fml/etc/install.cf.in の bin_programs 変数に fmlsch を追加します。 fml/etc/install.cf を再生成するために configure を再実行してください。

ステップ 2: モジュールを作る

fmlsch の実体のモジュールとして、 fml/lib/Calender/Lite.pm を書きます。

また、必要な他にライブラリがあれば適宜輸入してください。 今回は CPAN から HTML-CalendarMonthSimple-1.02.tar.gz を輸入します。

Date-Calc も必要なので適宜インストールしてください。

ステップ 3: FML::Process:: を修正

仕事のほとんどの部分は Calender::Lite が実行しますが、 fml8 のブートローダから Calender::Lite を呼び出すために FML::Process:: クラスを修正する必要があります。

まず、fmlsch プロセスの初期化から実行といった大まかな一連の手順を fml/lib/FML/Process/Calender.pm に書きます。このファイルは新規に作成して下さい。

そして、ブートローダーへ fmlsch の場合は FML::Process::Calender を呼び 出せば良いことを教えるために etc/modules と etc/command_line_options に fmlsch のモジュール名との対応関係を追加します。

FML::Process::Calender は同じディレクトリのモジュールを適当にぱくって hack してください :-) なお、fmlsch は機能が最小なので、FML::Process::Calender では FML::Process::Calender::run() メソッドだけ用意すればおしまいです。 未定義の関数は FML::Process::Kernel のメソッドが使われます(継承)。

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml-devel/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.