[[開発日記/2002-07-02]]にも書きましたが、今後の作業を行いやすくするために、ソースを大幅にいじっています。~
今のところ下記のようにクラス分けを行うつもりです。まだまだ企画段階ですが。~

とりあえず、中身的にはTranslationEngineを独立させるんで、ページごとにエンジンの切り替えができるようにしようかなと。~
そうするとページによっては、そのままHTML使えるとか、ソースコード用のページならキーワードに色がつくページとか。~

ファイル部分もラップするので、あとで高速化の為DBなどへの対応も可能です。

#comment

 // ウエブインターフェース部分
 // このクラスから各処理を行います。
 class Interface {

 	// インターフェースを初期化
 	function Interface();

 	// HTTP経由でくる変数
 	var $post, $get, $vars;

 	// 編集を実行
 	function do_edit();

 	// プレビューを実行
 	function do_preview();

 	// 書き込みを実行
 	function do_write();

 	// 一覧を実行
 	function do_list();

 	// 最終更新を実行
 	function do_recent();

 	// 差分を実行
 	function do_diff();

 	// 編集フォーム
 	function edit_form($postdata,$data,$add=false);

 }


 // ページを管理
 class PageStorage {

 	// ページストレージを初期化
 	function PageStorage();

 	// ページを取得
 	function get_page();	// = Page

 	// ページが存在するか?
 	function page_exists();	// = boolean

 	// ページ名リストを出力
 	function get_list();	// = array(pagename,..)

 	// 更新日順ページ名リストを
 	function get_list_order_update();	// = array(pagename,..)

 	// 検索を実行
 	function search($word,$type="AND",$non_format=0); // = array(pagename,..)

 }


 // ページ
 class Page {

 	// このページのソースを取得
 	function get_source();	// = string

 	// このページのソースを設定
 	function set_source($src);	// = boolean

 	// ページのプロパティを設定
 	function set_properties($prop);	// array('key'=>value)

 	// ページのプロパティを取得
 	function get_properties();	// array('key'=>value)

 	// このページのデフォルトソースを取得
 	function get_defaultsource();	// = string

 	// このページの最終更新日を取得 (UNIX timestamp)
 	function get_lastupdate(); // = int

 	// このページが表示可能か (これがfalseでもget_sourceは可能)
 	function is_visible();	// = boolean

 	// このページが編集可能か (これがfalseでもset_sourceは可能)
 	function is_editable();	// = boolean

 	// このページが凍結されているか (これがfalseでもset_sourceは可能)
 	function is_freeze();	// = boolean

 	// このページのタイプ
 	function get_type();	// = string

 	// ページをhtmlに変更
 	function convert_html();	// = string (html)

 	// このページのバックアップオブジェクトを初期化
 	function backup();	// = Backup

 }


 // バックアップを管理します
 class Backup {

 	// バックアップを初期化
 	function Backup($page);

 	// バックアップをセット
 	function set($src);	// = int (バックアップ世代数)

 	// バックアップを取得
 	function get($gen);	// = string

 	// バックアップ世代数
 	function count();	// = int

 }


 // Wikiやその他フォーマットからHTMLに変換
 class TranslateEngine {

 	// トランスレーションエンジンを初期化
 	function TranslateEngine($pagestorage);

 	// クラス内変数
 	var $pluginmanager;	// = PluginManager

 	// $srcからhtmlを生成 $pagenameはページ名, $varsはその他変数を指定
 	function run($src, $pagename, $vars); // = string


 // service functions
 	// pagenameがBracketNameだった場合に、Bracketを除去
 	function strip_bracket($pagename);	// = string

 	// このページからのリンクリスト
 	function linkto();	// = array(pagename);

 	// このページへのリンクリスト
 	function linkfrom();	// = array(pagename);

 	// $strがWikiNameか?
 	function is_wikiname($str);	// = boolean

 	// $strがBracketNameか?
 	function is_bracketname($str);	// = boolean

 	// $strがInterWikiNameか?
 	function is_interwikiname($str);	// = boolean

 	// $nameのリンクを作成
 	function make_link($name);	// = string (html)

 	//  $strにstr_rulesユーザルールを適用
 	function do_strrules($str);	// = string

 	//  $strにline_rulesユーザルールを適用
 	function do_linerules($str);	// = string

 }


 // プラグイン管理用
 class PluginManager {

 	// プラグインマネージャーを初期化
 	function PluginManager();

 	プラグイン用に未定義の変数を設定
 	function set_plugin_messages($messages)

 	// プラグイン(action)が存在するか
 	function exist_plugin_action($name);

 	// プラグイン(convert)が存在するか
 	function exist_plugin_convert($name);

 	// プラグインの初期化を実行
 	function do_plugin_init($name);

 	// プラグイン(action)を実行
 	function do_plugin_action($name);

 	// プラグイン(convert)を実行
 	function do_plugin_convert($plugin_name,$plugin_args);

 }

RIGHT: written at fist by [[ゆう]]

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.151 sec.

OSDN