■画像掲示板スレッドプラグイン(gazo)を作った手順をメモ
●前提
○PUBLOGではエンコードUTF-8推奨なので、それに合わせることが望ましい。
・PHPスクリプト自体
・画面出力
・ファイル出力
○グローバル変数が必要な場合は、$sysdat を活用すべしです
元:futaba.php v0.8 lot.031015 : futaba < http://www.2chan.net/junbi/index2.html >
・関数を抜き出して別ファイルに分割(gazo.func.php)
・別ファイルに分割した関数群をクラス化してしまう(Gazo クラス. 関数名の衝突を避けるため)
・関数を呼び出している部分をみつけて、関数の前にGazo::をつけていく
・必要な画面を割り出し、機能ごとに分類。機能ごとにコマンド名をつける。
その際、権限チェックが必要かどうかも分けていく。
このスクリプトの場合、
・管理者削除: admindel, 権限チェックあり
・管理者返信: adminres, 権限チェックあり
・投稿/返信: regist, 権限チェックなし
・返信画面: res, 権限チェックなし
・ユーザー削除: usrdel, 権限チェックなし
・画面再構築: rebuild, 権限チェックなし
・これらの情報を元に、gazo.inc.php を作成。
・editor/tpl/thread/gazo/newthread.form.tpl を作成。
新規スレッド作成時に表示される画面となる。
・画面毎に機能を整理していく。
・画面間で、プロジェクトコード(project_cd)とスレッドID(thread_id)を受け渡しするように
埋め込みをおこないます。
・echo() や print() で直接ブラウザに出力している部分は、バッファに貯める形にし、
$systpl->assign('outdata',バッファ);
$retvars['main_tpl']='null.tpl';
を使って、ブラウザに渡す形にした方が理想的です。