私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレせっかくだからPHPで掲示板作ってみませんか?
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ☆
レスフィルター : (試験中)
紹介歓迎。オープンソースとはそういうもの。
自己満足ではダメよん。
他人のは研究、いいとこ取り。自分のも公開、批判歓迎。
自己満足ではダメよん。
他人のは研究、いいとこ取り。自分のも公開、批判歓迎。
>>50
バージョン低いから、動けばいいんじゃない。
バージョン低いから、動けばいいんじゃない。
しかし、この板、もりあがってねえな。
このスレいつも上位にあるけど、1つか2つだもの。書き込み。
このスレいつも上位にあるけど、1つか2つだもの。書き込み。
ツリー式って、レスのレスのレスの、、ってやってくとどんどん
右端よってて、つぶれるでしょ。
はっきしいってダサいよ(笑
いい例
http://www3.airnet.ne.jp/kcomm/peterparker/bbs/bbs.cgi?pline=10
右端よってて、つぶれるでしょ。
はっきしいってダサいよ(笑
いい例
http://www3.airnet.ne.jp/kcomm/peterparker/bbs/bbs.cgi?pline=10
>>59=60は用途によって使い分けの出来ない馬鹿
>>59
ツリー式掲示板のスレにもいただろ
ツリー式掲示板のスレにもいただろ
書き込み時にindex.htmlを吐くところをindex.phpで吐くのは
危険かな~?
クッキー使うのが激しく楽なんだけど。
危険かな~?
クッキー使うのが激しく楽なんだけど。
>>71
まあまあ。
電動ナナシさんはおそらくそんなに煽られ耐性が低くないすよ。
そんでもって「くされ厨房」はクサチューさんのコテハン(腐れ厨房)と
まぎらわしいんで、使わんとこ。
ていうか、そういうことを書きに来たんじゃなかったのでした。
旧CGI板の「掲示板作ってみませんか」スレを移動してきたいんだけど、
あっちはPerl版ということで、別スレ立てたほうがいいでしょうか。
おれ個人は、同居さしてもらうほうが参照しやすくていいのですが。
まあまあ。
電動ナナシさんはおそらくそんなに煽られ耐性が低くないすよ。
そんでもって「くされ厨房」はクサチューさんのコテハン(腐れ厨房)と
まぎらわしいんで、使わんとこ。
ていうか、そういうことを書きに来たんじゃなかったのでした。
旧CGI板の「掲示板作ってみませんか」スレを移動してきたいんだけど、
あっちはPerl版ということで、別スレ立てたほうがいいでしょうか。
おれ個人は、同居さしてもらうほうが参照しやすくていいのですが。
別にPerl板から来たという保証は無いが・・・
いや、68には消えて欲しいんだがね。
いや、68には消えて欲しいんだがね。
>別にPerl板から来たという保証は無いが・・・
↑68が、だな。(勝手に補足)
ところで、(掲示板作成の)Perl版のスレッド立てた方がいいか?
↑68が、だな。(勝手に補足)
ところで、(掲示板作成の)Perl版のスレッド立てた方がいいか?
>>79
そうですね。PHP版とPerl板が別スレッドになっているほうが
かえってPHPのコードを集中して見られそうなのでうれしいです。
いや、オレもPerl板からの移住者なんですが、この合併を機会に
PHPも覚えようと思っていたりするので。
そうですね。PHP版とPerl板が別スレッドになっているほうが
かえってPHPのコードを集中して見られそうなのでうれしいです。
いや、オレもPerl板からの移住者なんですが、この合併を機会に
PHPも覚えようと思っていたりするので。
>>81
立てといたよ。でもなんで自分で立てないんだ? IPとられるからか?
http://corn.2ch.net/test/read.cgi?bbs=php&key=988890976&ls=50
立てといたよ。でもなんで自分で立てないんだ? IPとられるからか?
http://corn.2ch.net/test/read.cgi?bbs=php&key=988890976&ls=50
>>85
なんらかのDB使うってのは、だめ? MySQLとか。
なんらかのDB使うってのは、だめ? MySQLとか。
どちらでも利用できるようにすればいいんじゃない?
メッセージの処理クラスと永続化クラスを分けて、必要に応じて永続化クラスの
方を切り替えるという方式。PHPLIB/Pear のように。
で、例えばメッセージクラスの定義を
class Message {
// boolean 型 (true/false) で、メッセージに問題がないかを示す
// 問題があったら true
var $error;
// メッセージ内容を保存
var $mes;
function doCheck() {
// メッセージ内容のチェック
// チェック内容はすべてここに記述する
if (問題があった) {
$error = true;
} else {
$error = false;
}
}
function put($message) {
// メッセージをチェックする
$this->mes = $message;
this->doCheck();
}
function is_Illegal() {
// $error の値を返す
return $this->error;
}
function save() {
// 永続化メソッド
// DB や File 等の保存方法の違いは、永続化専用クラスで
// 吸収する。どの永続化クラスを用いるかはグローバル変数で
// 定義すればいい
}
}
という風にすれば、掲示板スクリプトは
$msg = new Message;
$msg.put($POSTED_MESSAGE);
if ($msg.is_Illegal()) {
// エラー処理
} else {
$msg.save();
echo "ありがとうございました";
}
という風に書けばいいと思う。
メッセージの処理クラスと永続化クラスを分けて、必要に応じて永続化クラスの
方を切り替えるという方式。PHPLIB/Pear のように。
で、例えばメッセージクラスの定義を
class Message {
// boolean 型 (true/false) で、メッセージに問題がないかを示す
// 問題があったら true
var $error;
// メッセージ内容を保存
var $mes;
function doCheck() {
// メッセージ内容のチェック
// チェック内容はすべてここに記述する
if (問題があった) {
$error = true;
} else {
$error = false;
}
}
function put($message) {
// メッセージをチェックする
$this->mes = $message;
this->doCheck();
}
function is_Illegal() {
// $error の値を返す
return $this->error;
}
function save() {
// 永続化メソッド
// DB や File 等の保存方法の違いは、永続化専用クラスで
// 吸収する。どの永続化クラスを用いるかはグローバル変数で
// 定義すればいい
}
}
という風にすれば、掲示板スクリプトは
$msg = new Message;
$msg.put($POSTED_MESSAGE);
if ($msg.is_Illegal()) {
// エラー処理
} else {
$msg.save();
echo "ありがとうございました";
}
という風に書けばいいと思う。
やべ、doCheck() はこうだ。
function doCheck() {
// メッセージ内容のチェック
// チェック内容はすべてここに記述する
if (問題があった) {
$this->error = true;
} else {
$this->error = false;
}
}
function doCheck() {
// メッセージ内容のチェック
// チェック内容はすべてここに記述する
if (問題があった) {
$this->error = true;
} else {
$this->error = false;
}
}
ちょっとまとめなおし。
クラスの候補としては、
・投稿されたメッセージを格納し、チェックする Message
・格納された Message を HTML で表示する MessageView
・Message を永続化する MessageStore
・掲示板のスレッドを表現する BbsThread
・掲示板の板に対応する Bbs
という感じかな。
で、
・ポストされたメッセージを保存するスクリプト BbsWriter.php
・板を表示するスクリプト BbsReader.php
が最低限あればいいよね。
BbsWriter.php は投稿されたメッセージを Message に格納して、
問題がなければ保存するのがその責務。
BbsReader.php は指定された BBS 名に対応する全スレッドの一覧と、
選択されたスレッドの上位 n 件を表示するのが責務。
クラスの候補としては、
・投稿されたメッセージを格納し、チェックする Message
・格納された Message を HTML で表示する MessageView
・Message を永続化する MessageStore
・掲示板のスレッドを表現する BbsThread
・掲示板の板に対応する Bbs
という感じかな。
で、
・ポストされたメッセージを保存するスクリプト BbsWriter.php
・板を表示するスクリプト BbsReader.php
が最低限あればいいよね。
BbsWriter.php は投稿されたメッセージを Message に格納して、
問題がなければ保存するのがその責務。
BbsReader.php は指定された BBS 名に対応する全スレッドの一覧と、
選択されたスレッドの上位 n 件を表示するのが責務。
BbsThread のリストは、Bbs に問い合わせると取得できるようにする。
したがってそういうメソッドを実装する必要がある。
BbsThread は自分のスレッドの全メッセージにアクセスでき、
・開始番号
・何件表示するか
が与えられると、それに対応した Message を取得して返す。
BbsReader.php は BbsThread から受け取った Message を MessageViewer を
使って HTML 化して表示する。
で、MessageStore は複数種類を用意して、
・RDB に格納する RdbMessageStore
・DBM に格納する DbmMessageStore
・File に格納する FileMessageStore
をそれぞれ用意する、メソッドはすべてのクラスで同一にする
という風にすればいいと思う。
したがってそういうメソッドを実装する必要がある。
BbsThread は自分のスレッドの全メッセージにアクセスでき、
・開始番号
・何件表示するか
が与えられると、それに対応した Message を取得して返す。
BbsReader.php は BbsThread から受け取った Message を MessageViewer を
使って HTML 化して表示する。
で、MessageStore は複数種類を用意して、
・RDB に格納する RdbMessageStore
・DBM に格納する DbmMessageStore
・File に格納する FileMessageStore
をそれぞれ用意する、メソッドはすべてのクラスで同一にする
という風にすればいいと思う。
すごい、、頭いいね。
クラスよくわかんないからぜんぶfunctionでやってたよ。
パールだなこれじゃ、、
電動ナナシ作BBSスクリプトきぼーんぬ
クラスよくわかんないからぜんぶfunctionでやってたよ。
パールだなこれじゃ、、
電動ナナシ作BBSスクリプトきぼーんぬ
>>95
仮想関数とかがあれば同一にする苦労なんて無いのにね。
いつかやってみようと思ってたネタがあるんでマージ希望。
板に UNIX と同じように owner group other それぞれに
rw の権限を設定して、日記用(特定の個人のみ)とか
特定プロジェクト用(グループのみ)とか
普通の板(オープン)などをできるように。
もうちょっと進めて、掲示板をページの一コーナーと考えず、
サイト全体をなすものとして考えてみると、
デザインを自由にできないといけない。
ここはデザイナー部として独立して考えた方がいいかも。
要するに、サイトにこの php を設置すればそれ以降は
全部 web インターフェイスでできるような形にできると
おもしろいかなと。
広げすぎかも知れないんで適当なバランスをとった方がいいと思う。
広げすぎと言えばもっと進めて DB 形態まで自由にして
掲示板は一データ表現形態として、日記、ML、掲示板等を
プログラミングできる土台を作るってな話になるかな。
>>96
電動さんはどっちかというと監督だ。
お前は勉強して働けゴルァオレモナー
仮想関数とかがあれば同一にする苦労なんて無いのにね。
いつかやってみようと思ってたネタがあるんでマージ希望。
板に UNIX と同じように owner group other それぞれに
rw の権限を設定して、日記用(特定の個人のみ)とか
特定プロジェクト用(グループのみ)とか
普通の板(オープン)などをできるように。
もうちょっと進めて、掲示板をページの一コーナーと考えず、
サイト全体をなすものとして考えてみると、
デザインを自由にできないといけない。
ここはデザイナー部として独立して考えた方がいいかも。
要するに、サイトにこの php を設置すればそれ以降は
全部 web インターフェイスでできるような形にできると
おもしろいかなと。
広げすぎかも知れないんで適当なバランスをとった方がいいと思う。
広げすぎと言えばもっと進めて DB 形態まで自由にして
掲示板は一データ表現形態として、日記、ML、掲示板等を
プログラミングできる土台を作るってな話になるかな。
>>96
電動さんはどっちかというと監督だ。
お前は勉強して働けゴルァオレモナー
>>99
あとの方はサイトの中心に据えているという点では方向性は同じだね。
それと、掲示板システム全般についてだけど、
板、スレッド、書き込みの3層構造に絞る必要って
無いんじゃないかと思うんだけど。DB 的に甘い考えかも知れないけど、
板もスレッドも同じクラス(例えば Thread)で、
最後の書き込みの層だけがリンク先を持つことができない
末端属性を持つ Leaf とでもしておくわけだ。
Thread extend Leaf で他のスレッドの可変長配列を持てる
ようにする、と。
こうしておけば、Leaf を使わなければスレッド型掲示板、
2段階目に Leaf を使えば、板、書き込みのシンプルな掲示板、
3段階目に Leaf を使えば、板、スレッド、書き込みの3層構造、
それで、板の層は管理者のみ書き込み可で、板の増設は
設置者の自由、場合によってはスレッドも管理者のみ書き込み可にしても
いいと思う。スレッドまでユーザに作られると困るって向きも多いだろう。
あとの方はサイトの中心に据えているという点では方向性は同じだね。
それと、掲示板システム全般についてだけど、
板、スレッド、書き込みの3層構造に絞る必要って
無いんじゃないかと思うんだけど。DB 的に甘い考えかも知れないけど、
板もスレッドも同じクラス(例えば Thread)で、
最後の書き込みの層だけがリンク先を持つことができない
末端属性を持つ Leaf とでもしておくわけだ。
Thread extend Leaf で他のスレッドの可変長配列を持てる
ようにする、と。
こうしておけば、Leaf を使わなければスレッド型掲示板、
2段階目に Leaf を使えば、板、書き込みのシンプルな掲示板、
3段階目に Leaf を使えば、板、スレッド、書き込みの3層構造、
それで、板の層は管理者のみ書き込み可で、板の増設は
設置者の自由、場合によってはスレッドも管理者のみ書き込み可にしても
いいと思う。スレッドまでユーザに作られると困るって向きも多いだろう。
類似してるかもしれないスレッド
- こんにちは、PHPプロの方。教えてください。 (187) - [39%] - 2019/5/9 7:45
- phpのツリーのアルゴリズムがわかんねんんだよ! (66) - [36%] - 2022/10/19 16:30
- PHP仕様主旨と精神ってなんだとおもいますか? (166) - [31%] - 2022/8/1 7:00
- PHPで作られた有名サイトってあるの? (736) - [31%] - 2019/5/9 7:45 △
トップメニューへ / →のくす牧場書庫について