xoops2の起動プロセスに詳しくなろうね!(←自分)
順を追って書いていくことにするか。と書いていくことにしたけど、
やっぱシーケンス図とクラス図使ったほうが良かった。
まず、xoopsのHPにログインしようとしてアクセスすると、
こんな風に処理が行われているようでR。。。
■index.php(スタートページ)
↓
■mainfile.php(各種パラメータを設定する。DBの名前etc)
↓
■/include/common.php (メソッド実行の中心的ファイル)
↓
■/class/errorhandler.php
XoopsErrorHandlerクラス
{
XoopsErrorHandler ()
&getInstance () ←XoopsErrorHandler()のインスタンス作成
activate ($showErrors=false)
handleError ($error)
renderErrors ()
}
XoopsErrorHandler_HandleError()
XoopsErrorHandler_Shutdown()
↓
■/class/logger.php
ページリクエスト情報を収集。
データベースのクエリーとブロック、実行時間を記録してHTMLで表示できる。
XoopsLoggerクラス
&instance()
startTime()
↓
■/include/functions.php
xoopsで良く使う関数群をまとめたファイル
関数の使い方は「Marijuana's Xoopsサイト」に丁寧に書いてあります。
http://marijuana.ddo.jp/modules/marixoops/index.php?fid=5
function xoops_header($closehead=true) ← XOOPSのヘッダーを出力
function xoops_footer() ←ob_end_flushで出力バッファを送信する。
function xoops_error($msg, $title='') ←エラーを出力する
function xoops_result($msg, $title='') ←結果を出力する
function xoops_confirm($hiddens, $action, $msg, $submit='')
function xoops_refcheck($docheck=1)
function xoops_getUserTimestamp($time, $timeoffset="")
function formatTimestamp($time, $format="l", $timeoffset="")
function userTimeToServerTime($timestamp, $userTZ=null)
function xoops_makepass()
function OpenWaitBox()
function CloseWaitBox()
function checkEmail($email,$antispam = false)
function formatURL($url)
function showbanner()
function xoops_getbanner()
function redirect_header($url, $time = 3, $message = '', $addredirect = true)
function xoops_getenv($key)
function getTheme()
function getcss($theme = '')
function xoops_getcss($theme = '')
function &getMailer()
function &xoops_gethandler($name, $optional = false )
function &xoops_getmodulehandler($name = null, $module_dir = null, $optional = false)
function xoops_getrank($rank_id =0, $posts = 0)
function xoops_substr($str, $start, $length, $trimmarker = '...')
- Notification(お知らせ)補助関数
- コメント補助関数
- グループ権限補助関数
↓
■/class/database/databasefactory.phpを読込む
class XoopsDatabaseFactory
データベースクラスのインスタンスに照会して接続するメソッド。
function &getDatabaseConnection()
照会するけど、DBに接続しないメソッド。
function &getDatabase()
↓
■XoopsDatabaseFactory::getDatabaseConnection()を実行する。
(続く)