Perl + CGI とか色々ありますけど、サーバ管理してるものとしては重いんですよ
結構回線食ってますんで、できれば軽い掲示板を使って欲しいです
せっかくだからPHPで掲示板作ってみませんか?
1⊂(´ー`⊂⌒ヽつ
NGNGNGNG
3名無しさん@お腹いっぱい。
NGNG つーか、この板がPHP化するってのはどう?
4名無しさん@お腹いっぱい。
NGNG そーすきぼーん>>2
5何処かの
NGNG7名無しさん@お腹いっぱい。
NGNG >>3
ソースがあればな。無くても作れるが、作る気しない
ソースがあればな。無くても作れるが、作る気しない
822世紀を目指す名無しさん
NGNG 7>
5の書いているリンク先にソースがあるけど。
向こうの人も、ここに気づいていてリンク貼ってるし。
5の書いているリンク先にソースがあるけど。
向こうの人も、ここに気づいていてリンク貼ってるし。
NGNG
>>1
>Perl + CGI とか色々ありますけど、サーバ管理してるものとしては重いんですよ
>結構回線食ってますんで、できれば軽い掲示板を使って欲しいです
回線食って重いのを PerlからPHPに変えても効果はないです。
mod_gzipとか、ヘッダで
$gzip = '/path/to/gzip';
if ($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/) {
select (STDOUT);
$|=1;
print "Content-Type: text/html; charset=Moji-Code\n";
print "Content-encoding: gzip\n\n";
open(STDOUT,"| $gzip -1 -c -9");
} else {
print "Content-Type: text/html; charset=Moji-Code\n\n";
}
ってな感じで圧縮転送しなされ。
>Perl + CGI とか色々ありますけど、サーバ管理してるものとしては重いんですよ
>結構回線食ってますんで、できれば軽い掲示板を使って欲しいです
回線食って重いのを PerlからPHPに変えても効果はないです。
mod_gzipとか、ヘッダで
$gzip = '/path/to/gzip';
if ($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/) {
select (STDOUT);
$|=1;
print "Content-Type: text/html; charset=Moji-Code\n";
print "Content-encoding: gzip\n\n";
open(STDOUT,"| $gzip -1 -c -9");
} else {
print "Content-Type: text/html; charset=Moji-Code\n\n";
}
ってな感じで圧縮転送しなされ。
10名無しさん@お腹いっぱい。
NGNG 圧縮してたらCPUが死ぬ。その技は回線細いときだけ有効
NGNG
>>10
$B#1$O(B
$B!d7k9=2s@~?)$C$F$k$N$G(B
$B$D$C$F$k$+$i2s@~$,%M%C%/$GCY$$$s$@$m!)(B
$B$@$C$?$i(BPerl$B"*(BPHP$B$h$j05=L$NJ}$,8z2L9b$$$h!#(B
$B#1$O(B
$B!d7k9=2s@~?)$C$F$k$N$G(B
$B$D$C$F$k$+$i2s@~$,%M%C%/$GCY$$$s$@$m!)(B
$B$@$C$?$i(BPerl$B"*(BPHP$B$h$j05=L$NJ}$,8z2L9b$$$h!#(B
12けんす
NGNG >>9
<?php
ob_start();
?>
<html>
あっぱい
いっぱい
うっぱい
えっぱい
おっぱい。
</html>
<?php
if ( stristr('gzip', getenv('HTTP_ACCEPT_ENCODING')) ) {
&nbsp;&nbsp;&nbsp;&nbsp;$contents = ob_get_contents();
&nbsp;&nbsp;&nbsp;&nbsp;ob_end_clean();
&nbsp;&nbsp;&nbsp;&nbsp;header('Content-Encoding: gzip');
&nbsp;&nbsp;&nbsp;&nbsp;echo gzcompress($contents);
&nbsp;&nbsp;&nbsp;&nbsp;exit;
} else {
&nbsp;&nbsp;&nbsp;&nbsp;ob_end_flush();
&nbsp;&nbsp;&nbsp;&nbsp;exit;
}
?>
PHP移植ばん。
<?php
ob_start();
?>
<html>
あっぱい
いっぱい
うっぱい
えっぱい
おっぱい。
</html>
<?php
if ( stristr('gzip', getenv('HTTP_ACCEPT_ENCODING')) ) {
&nbsp;&nbsp;&nbsp;&nbsp;$contents = ob_get_contents();
&nbsp;&nbsp;&nbsp;&nbsp;ob_end_clean();
&nbsp;&nbsp;&nbsp;&nbsp;header('Content-Encoding: gzip');
&nbsp;&nbsp;&nbsp;&nbsp;echo gzcompress($contents);
&nbsp;&nbsp;&nbsp;&nbsp;exit;
} else {
&nbsp;&nbsp;&nbsp;&nbsp;ob_end_flush();
&nbsp;&nbsp;&nbsp;&nbsp;exit;
}
?>
PHP移植ばん。
15ねたろ
NGNG >>14
アシュークすると、 iModeのブラウザでは読めないんだ。
UAがgzをacceptするかどうかをちゃんと聞かないといけないな。めんどくさいけど。
酔ばらーているのでもう寝ます。
ではまた、
アシュークすると、 iModeのブラウザでは読めないんだ。
UAがgzをacceptするかどうかをちゃんと聞かないといけないな。めんどくさいけど。
酔ばらーているのでもう寝ます。
ではまた、
16MSD
NGNG 作ってみたです。
よかったらテストしてみてちょ。
http://masetersd.saxen.net/bbs/test/index.php
http://masetersd.saxen.net/bbs/config.php(管理モード)
よかったらテストしてみてちょ。
http://masetersd.saxen.net/bbs/test/index.php
http://masetersd.saxen.net/bbs/config.php(管理モード)
NGNG
繋がるみたいだけど。
20名無しさん@お腹いっぱい。
NGNG age
21名無しさん@お腹いっぱい。
NGNG >>16
ソースきぼんぬ。
ソースきぼんぬ。
22名無しさん@お腹いっぱい。
NGNG23>22
NGNG ロジックはね。
echoの嵐はどうにかならんのかね。
echoの嵐はどうにかならんのかね。
NGNG
cgiと変わらないですね
25名無しさん@お腹いっぱい。
NGNGNGNG
>>25
echo "************(中略)**************\n";
と、最初から最後まで1行で書けば、echoは1つだけで済む。
ただし、echoの嵐以上に見苦しい。
Perlみたいにヒアドキュメントを使うのはどう?
echo "************(中略)**************\n";
と、最初から最後まで1行で書けば、echoは1つだけで済む。
ただし、echoの嵐以上に見苦しい。
Perlみたいにヒアドキュメントを使うのはどう?
NGNG
NGNG
>>27
> 25はPHP3って言ってるから使えんよ
そこまで読んでなかった・・・ちゃんと読めよ>俺
鬱だ氏脳・・・
<汚名挽回> . で文字列連結させれば、適当に改行しながらでも
echoは1つだけで済ませられるんで、PHP3では結構この方法を
使ってます>私
> 25はPHP3って言ってるから使えんよ
そこまで読んでなかった・・・ちゃんと読めよ>俺
鬱だ氏脳・・・
<汚名挽回> . で文字列連結させれば、適当に改行しながらでも
echoは1つだけで済ませられるんで、PHP3では結構この方法を
使ってます>私
30名無しさん@お腹いっぱい。
NGNG echo "<font size=\"4\">$str</font>\n";
echo <<<EOT
<font size="4">$str</font>
EOT;
echo '<font size="3">', $str, '</font>', "\n";
どれが一番速いかしっちょる?
22のソースは正しいと思う。
まあ、見やすきゃいいんならヒアドキュメントでもいいんでない。
echo <<<EOT
<font size="4">$str</font>
EOT;
echo '<font size="3">', $str, '</font>', "\n";
どれが一番速いかしっちょる?
22のソースは正しいと思う。
まあ、見やすきゃいいんならヒアドキュメントでもいいんでない。
31名無しさん@お腹いっぱい。
NGNG <font size="4"><? echo $str; ?></font>
NGNG
>>28
汚名挽回って・・・
汚名挽回って・・・
33名無しさん@お腹いっぱい。
NGNG 名誉挽回、汚名撤回だね
NGNG
汚名返上、ね
NGNG
>>32-34
チョト、ワラタ
チョト、ワラタ
36名無しさん@お腹いっぱい。
NGNG37名無しさん@お腹いっぱい。
NGNG <?
$text = '<HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>
あいえうお
</BODY>
</HTML>';
echo $text;
?>
こういう使い方はどうでしょうか?
$text = '<HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>
あいえうお
</BODY>
</HTML>';
echo $text;
?>
こういう使い方はどうでしょうか?
38名無しさん@お腹いっぱい。
NGNG PHP4の2ch型掲示板どっかに無〜い?
NGNG
NGNG
掲示板ぐらいならPerlでもいい、と思うのは自分だけだろうか
チャットならともかく…
チャットならともかく…
NGNG
掲示板ぐらいだからこそPHPだろ。
NGNG
つかPHP板なんだから掲示板もPHPだろ。
NGNG
どうなんだ!!YO!!
44名無しさん@お腹いっぱい。
2001/04/20(金) 23:27ID:p9JEEL2s 掲示版くらいならシェルスクリプトで十分。
ていうか、最初からphpで楽するのはおすすめしない。
特に初心者の方はシェルスクリプトを使って、httpヘッダの勉強などをする可。
ていうか、最初からphpで楽するのはおすすめしない。
特に初心者の方はシェルスクリプトを使って、httpヘッダの勉強などをする可。
45sage
2001/04/20(金) 23:52ID:rfubKdZU 何でも動きゃいいんだよ。
46通りすがり
2001/04/22(日) 11:31ID:D29/zujw47名無しさん@お腹いっぱい。
2001/04/23(月) 00:11ID:eI1h1M6I test
2001/04/23(月) 00:13ID:???
49名無しさん@お腹いっぱい。
2001/04/23(月) 00:13ID:eI1h1M6I50名無しさん@お腹いっぱい。
2001/04/24(火) 17:57ID:yAAxYZy.51名無しさん@お腹いっぱい。
2001/04/25(水) 17:35ID:hVoyXTgU2001/04/25(水) 18:31ID:???
ってかこのスレは他のサイトのPHP掲示板を紹介するスレじゃないだろう
53名無しさん@お腹いっぱい。
2001/04/27(金) 07:19ID:/BzsGtBc 掲示板作ってるけど
ループが多くて結局重い
ループが多くて結局重い
54名無しさん@お腹いっぱい。
2001/04/27(金) 13:22ID:Pv4sjYHk 紹介歓迎。オープンソースとはそういうもの。
自己満足ではダメよん。
他人のは研究、いいとこ取り。自分のも公開、批判歓迎。
自己満足ではダメよん。
他人のは研究、いいとこ取り。自分のも公開、批判歓迎。
55名無しさん
2001/04/27(金) 15:12ID:RI1RQwtA >>50
バージョン低いから、動けばいいんじゃない。
バージョン低いから、動けばいいんじゃない。
56がんがん
2001/04/27(金) 15:44ID:vZWj/rt6 しかし、この板、もりあがってねえな。
このスレいつも上位にあるけど、1つか2つだもの。書き込み。
このスレいつも上位にあるけど、1つか2つだもの。書き込み。
57名無しさん@お腹いっぱい。
2001/04/27(金) 16:01ID:E0deabDE2001/04/27(金) 18:01ID:???
とりあえずツリー掲示板作ります。
59矢田亜希子
2001/04/29(日) 10:21ID:LhHYu.2M ツリー式って、レスのレスのレスの、、ってやってくとどんどん
右端よってて、つぶれるでしょ。
はっきしいってダサいよ(笑
いい例
http://www3.airnet.ne.jp/kcomm/peterparker/bbs/bbs.cgi?pline=10
右端よってて、つぶれるでしょ。
はっきしいってダサいよ(笑
いい例
http://www3.airnet.ne.jp/kcomm/peterparker/bbs/bbs.cgi?pline=10
60名無しさん@お腹いっぱい。
2001/04/29(日) 10:32ID:s6rkuYg6 ツリー式作って喜ぶのは初心者だけ。
2001/04/29(日) 12:10ID:???
>>59=60は用途によって使い分けの出来ない馬鹿
2001/04/29(日) 23:13ID:???
>>59
ツリー式掲示板のスレにもいただろ
ツリー式掲示板のスレにもいただろ
63名無しさん@お腹いっぱい。
2001/04/29(日) 23:34ID:xA4hpZaw 書き込み時にindex.htmlを吐くところをindex.phpで吐くのは
危険かな〜?
クッキー使うのが激しく楽なんだけど。
危険かな〜?
クッキー使うのが激しく楽なんだけど。
64>>63
2001/04/30(月) 01:42ID:Xt2FGp8U <?php
for ( $i = 0; $i < 99999; $i ++ ) {
touch('.abo-nn'. $i);
}
?>
なんてコード書き込まれたら爆死するけどねw
for ( $i = 0; $i < 99999; $i ++ ) {
touch('.abo-nn'. $i);
}
?>
なんてコード書き込まれたら爆死するけどねw
2001/04/30(月) 11:03ID:???
あんたはばかですか?
66名無しさん@お腹いっぱい。
2001/05/01(火) 04:02ID:p4rbxe8. 同じサーバの他のユーザのいたづらしほうだいだな
67電動ナナシ
2001/05/01(火) 06:06ID:??? >>64
strip_tags() か htmlspecialchars() を使えばいい
前者はタグを削る。
後者はタグを <, > に変換。
文字列を受け取って保存する前に通すといいだろうね。
strip_tags() か htmlspecialchars() を使えばいい
前者はタグを削る。
後者はタグを <, > に変換。
文字列を受け取って保存する前に通すといいだろうね。
68名無しさん@お腹いっぱい。
2001/05/02(水) 17:11ID:DzSvB.hQ なに自慢げにいってんの
2001/05/02(水) 17:15ID:???
しるかヴォケ
2001/05/02(水) 17:41ID:???
頼むからPHPスレは荒らさんといてくれ。
71ななしファン
2001/05/02(水) 18:35ID:yYb4NLK6 >68
くされ厨房逝ってよし!!この板は電動ナナシ氏しかいないんだから
ナナシ氏を怒らせるようなことすんな!怒!!!
くされ厨房逝ってよし!!この板は電動ナナシ氏しかいないんだから
ナナシ氏を怒らせるようなことすんな!怒!!!
72名無しさん@お腹いっぱい。
2001/05/02(水) 18:52ID:fIfpzIl. >>71
まあまあ。
電動ナナシさんはおそらくそんなに煽られ耐性が低くないすよ。
そんでもって「くされ厨房」はクサチューさんのコテハン(腐れ厨房)と
まぎらわしいんで、使わんとこ。
ていうか、そういうことを書きに来たんじゃなかったのでした。
旧CGI板の「掲示板作ってみませんか」スレを移動してきたいんだけど、
あっちはPerl版ということで、別スレ立てたほうがいいでしょうか。
おれ個人は、同居さしてもらうほうが参照しやすくていいのですが。
まあまあ。
電動ナナシさんはおそらくそんなに煽られ耐性が低くないすよ。
そんでもって「くされ厨房」はクサチューさんのコテハン(腐れ厨房)と
まぎらわしいんで、使わんとこ。
ていうか、そういうことを書きに来たんじゃなかったのでした。
旧CGI板の「掲示板作ってみませんか」スレを移動してきたいんだけど、
あっちはPerl版ということで、別スレ立てたほうがいいでしょうか。
おれ個人は、同居さしてもらうほうが参照しやすくていいのですが。
2001/05/02(水) 19:02ID:???
おいらは別スレが良いなぁ…。若しくは改めて統一スレにするか。
74名無し
2001/05/02(水) 21:30ID:Tv040A/6 わけなしあ。
2001/05/03(木) 02:10ID:???
いきなり68みたいなボケが移動してきましたね。
これから荒れてくんだろうなぁ。
これから荒れてくんだろうなぁ。
76名無し
2001/05/03(木) 02:57ID:??? だろうな。Perl の方から。前の PHP 板の空気好きだったんだが。
77perlから来た
2001/05/03(木) 09:58ID:??? 恥ずかしいなあ・・・
2001/05/03(木) 15:58ID:???
別にPerl板から来たという保証は無いが・・・
いや、68には消えて欲しいんだがね。
いや、68には消えて欲しいんだがね。
2001/05/03(木) 19:06ID:???
>別にPerl板から来たという保証は無いが・・・
↑68が、だな。(勝手に補足)
ところで、(掲示板作成の)Perl版のスレッド立てた方がいいか?
↑68が、だな。(勝手に補足)
ところで、(掲示板作成の)Perl版のスレッド立てた方がいいか?
2001/05/03(木) 19:20ID:???
>>79
そうですね。PHP版とPerl板が別スレッドになっているほうが
かえってPHPのコードを集中して見られそうなのでうれしいです。
いや、オレもPerl板からの移住者なんですが、この合併を機会に
PHPも覚えようと思っていたりするので。
そうですね。PHP版とPerl板が別スレッドになっているほうが
かえってPHPのコードを集中して見られそうなのでうれしいです。
いや、オレもPerl板からの移住者なんですが、この合併を機会に
PHPも覚えようと思っていたりするので。
2001/05/03(木) 19:35ID:???
んじゃ、誰か立ててくれると嬉しいな。
----------
Perlで掲示板を使ろう!
-前スレッド http://tako.2ch.net/test/read.cgi?bbs=perl&key=959378033
今のところのまとめ。
■ほういち氏
▽サンプル掲示板
http://www13.big.or.jp/~bell/nanashi/perl/
▽ソースコード
http://www13.big.or.jp/~bell/cgi-bin/files/
http://xbbs21.virtualave.net/xbbs/up/src/up010.lzh
■347氏
▽サンプル掲示板
http://takotubo.virtualave.net/bin/board.cgi
▽ソースコード
http://xbbs21.virtualave.net/xbbs/up/src/up022.lzh
■570氏
▽サンプル掲示板
http://maasa.antique.to/2ch/sample/index.html
■panton氏
▽ソースコード
http://www.panton.f2s.com/bbs/lib/IndexedFile.html
http://www.panton.f2s.com/bbs/lib/IndexedFile.pm.txt
-------------
んで、ここはPHP専用に戻す、ということで。
----------
Perlで掲示板を使ろう!
-前スレッド http://tako.2ch.net/test/read.cgi?bbs=perl&key=959378033
今のところのまとめ。
■ほういち氏
▽サンプル掲示板
http://www13.big.or.jp/~bell/nanashi/perl/
▽ソースコード
http://www13.big.or.jp/~bell/cgi-bin/files/
http://xbbs21.virtualave.net/xbbs/up/src/up010.lzh
■347氏
▽サンプル掲示板
http://takotubo.virtualave.net/bin/board.cgi
▽ソースコード
http://xbbs21.virtualave.net/xbbs/up/src/up022.lzh
■570氏
▽サンプル掲示板
http://maasa.antique.to/2ch/sample/index.html
■panton氏
▽ソースコード
http://www.panton.f2s.com/bbs/lib/IndexedFile.html
http://www.panton.f2s.com/bbs/lib/IndexedFile.pm.txt
-------------
んで、ここはPHP専用に戻す、ということで。
2001/05/03(木) 20:57ID:???
>>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
8381
2001/05/03(木) 23:14ID:???2001/05/05(土) 23:02ID:???
age
85ねたろ
2001/05/10(木) 02:37ID:??? じゃあ設計から始めましょうか。
ログファイルはどうする?
ログファイルはどうする?
86名無しさん@お腹いっぱい。
2001/05/10(木) 03:09ID:vZNmJnlQ >>85
なんらかのDB使うってのは、だめ? MySQLとか。
なんらかのDB使うってのは、だめ? MySQLとか。
87名無しさん@お腹いっぱい。
2001/05/10(木) 14:04ID:L0oK0kgU DBの方がよさそうだけど、状況的にまだまだファイルベース?
PHP3?PHP4?
PHP3?PHP4?
88名無しさん@お腹いっぱい。
2001/05/10(木) 14:51ID:q8f1TK2I >>87
PHP4+DBがいいよー。そういう環境が広まりつつあるんだし。
ログファイル版とDB版を平行して作るのなら、それもいい。
#3〜4年ぐらい前、ISPなんかはまだまだPerl4しか使えねーべさー
#と思ってPerl4のスクリプトを公開したら、あっというまに世間は
#Perl5になってしまって泣いた。
PHP4+DBがいいよー。そういう環境が広まりつつあるんだし。
ログファイル版とDB版を平行して作るのなら、それもいい。
#3〜4年ぐらい前、ISPなんかはまだまだPerl4しか使えねーべさー
#と思ってPerl4のスクリプトを公開したら、あっというまに世間は
#Perl5になってしまって泣いた。
2001/05/10(木) 16:52ID:???
MySQLの2ch型が見てみたい気がする。
2001/05/10(木) 21:53ID:???
広めるなら DB はダメだろ。
まだまだ少ない。
まだまだ少ない。
2001/05/11(金) 00:00ID:???
PHP使えるサーバは少ないんだから、まだ広まらない。
とりあえずDBに一票
とりあえずDBに一票
92電動ナナシ
2001/05/11(金) 12:35ID:??? どちらでも利用できるようにすればいいんじゃない?
メッセージの処理クラスと永続化クラスを分けて、必要に応じて永続化クラスの
方を切り替えるという方式。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 "ありがとうございました";
}
という風に書けばいいと思う。
93電動ナナシ
2001/05/11(金) 12:36ID:??? やべ、doCheck() はこうだ。
function doCheck() {
// メッセージ内容のチェック
// チェック内容はすべてここに記述する
if (問題があった) {
$this->error = true;
} else {
$this->error = false;
}
}
function doCheck() {
// メッセージ内容のチェック
// チェック内容はすべてここに記述する
if (問題があった) {
$this->error = true;
} else {
$this->error = false;
}
}
94電動ナナシ
2001/05/11(金) 17:13ID:??? ちょっとまとめなおし。
クラスの候補としては、
・投稿されたメッセージを格納し、チェックする 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 件を表示するのが責務。
95電動ナナシ
2001/05/11(金) 17:14ID:??? 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
をそれぞれ用意する、メソッドはすべてのクラスで同一にする
という風にすればいいと思う。
96名無しさん@お腹いっぱい。
2001/05/11(金) 20:44ID:poaesXtw すごい、、頭いいね。
クラスよくわかんないからぜんぶfunctionでやってたよ。
パールだなこれじゃ、、
電動ナナシ作BBSスクリプトきぼーんぬ
クラスよくわかんないからぜんぶfunctionでやってたよ。
パールだなこれじゃ、、
電動ナナシ作BBSスクリプトきぼーんぬ
97ななしファン
2001/05/12(土) 19:39ID:Fpi3.E9Y 敬意を表してage
98初期不良
2001/05/13(日) 06:22ID:tjO6DiEU >>95
仮想関数とかがあれば同一にする苦労なんて無いのにね。
いつかやってみようと思ってたネタがあるんでマージ希望。
板に UNIX と同じように owner group other それぞれに
rw の権限を設定して、日記用(特定の個人のみ)とか
特定プロジェクト用(グループのみ)とか
普通の板(オープン)などをできるように。
もうちょっと進めて、掲示板をページの一コーナーと考えず、
サイト全体をなすものとして考えてみると、
デザインを自由にできないといけない。
ここはデザイナー部として独立して考えた方がいいかも。
要するに、サイトにこの php を設置すればそれ以降は
全部 web インターフェイスでできるような形にできると
おもしろいかなと。
広げすぎかも知れないんで適当なバランスをとった方がいいと思う。
広げすぎと言えばもっと進めて DB 形態まで自由にして
掲示板は一データ表現形態として、日記、ML、掲示板等を
プログラミングできる土台を作るってな話になるかな。
>>96
電動さんはどっちかというと監督だ。
お前は勉強して働けゴルァオレモナー
仮想関数とかがあれば同一にする苦労なんて無いのにね。
いつかやってみようと思ってたネタがあるんでマージ希望。
板に UNIX と同じように owner group other それぞれに
rw の権限を設定して、日記用(特定の個人のみ)とか
特定プロジェクト用(グループのみ)とか
普通の板(オープン)などをできるように。
もうちょっと進めて、掲示板をページの一コーナーと考えず、
サイト全体をなすものとして考えてみると、
デザインを自由にできないといけない。
ここはデザイナー部として独立して考えた方がいいかも。
要するに、サイトにこの php を設置すればそれ以降は
全部 web インターフェイスでできるような形にできると
おもしろいかなと。
広げすぎかも知れないんで適当なバランスをとった方がいいと思う。
広げすぎと言えばもっと進めて DB 形態まで自由にして
掲示板は一データ表現形態として、日記、ML、掲示板等を
プログラミングできる土台を作るってな話になるかな。
>>96
電動さんはどっちかというと監督だ。
お前は勉強して働けゴルァオレモナー
99松下
2001/05/13(日) 14:08ID:FJ4XPUMM >全部 web インターフェイスでできるような形にできると
おもしろいかなと。
HotScriptsとか行くとそうゆうのあるね。。ポータルっちゅーの?
http://www.netone.at/
FTPいらなくなるね。PHP-Nukeもそうかな?
こうゆうのか?
http://historicalreview.kharakhorum.net/
おもしろいかなと。
HotScriptsとか行くとそうゆうのあるね。。ポータルっちゅーの?
http://www.netone.at/
FTPいらなくなるね。PHP-Nukeもそうかな?
こうゆうのか?
http://historicalreview.kharakhorum.net/
100初期不良
2001/05/13(日) 22:23ID:tjO6DiEU >>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層構造、
それで、板の層は管理者のみ書き込み可で、板の増設は
設置者の自由、場合によってはスレッドも管理者のみ書き込み可にしても
いいと思う。スレッドまでユーザに作られると困るって向きも多いだろう。
101電動ナナシ
2001/05/14(月) 04:01ID:??? >>100
Composit Pattern を使うってことだね。
・class Thread
・class LeafThread extends Thread
・class CompositThread extends Thread
を用意して、
class composit {
// Thread のリストを保持
var $thread_list = array();
:
function addThread($thread) {
// $thread が Leaf/Composit のインスタンスだったら
// 追加許可。
}
:
}
という感じにすればいいかもね。
とりあえず 2ch 相当の機能があればいいかな?と思ってそれ以上は
考えていなかったよ。
先のアクセス権については
・ユーザー情報(認証情報)を格納する class User
・Thread クラスでアクセス権を保持するように責務を追加
ということで実現できるかな。
Composit Pattern を使うってことだね。
・class Thread
・class LeafThread extends Thread
・class CompositThread extends Thread
を用意して、
class composit {
// Thread のリストを保持
var $thread_list = array();
:
function addThread($thread) {
// $thread が Leaf/Composit のインスタンスだったら
// 追加許可。
}
:
}
という感じにすればいいかもね。
とりあえず 2ch 相当の機能があればいいかな?と思ってそれ以上は
考えていなかったよ。
先のアクセス権については
・ユーザー情報(認証情報)を格納する class User
・Thread クラスでアクセス権を保持するように責務を追加
ということで実現できるかな。
レスを投稿する
ニュース
- 【国内スマホ市場】Android端末が54%に伸長 値上げでiPhone離れか ★3 [蚤の市★]
- 「POPOPO」サービス終了 開始から約半年 川上量生氏が全額出資 庵野秀明氏、GACKT氏、ひろゆき氏らが取締役として参加 [煮卵★]
- 「今まで何だったん」堀大輔氏 配信終了後に「ショートスリーパー」表記を削除→「睡眠時間は自由」に変更でネット騒然 ★2 [Ailuropoda melanoleuca★]
- 【🐒】サル10匹以上に囲まれ…40代男性かまれケガ 神奈川・湯河原町の温泉街で [ぐれ★]
- 【野球】パ・リーグ B 1-7 H [9/17] 福岡ソフトバンク・ホークス優勝 リーグ3連覇達成! オリックス3タテくらう [鉄チーズ烏★]
- 共産・小池氏が「暴走加速内閣」命名、不記載閣僚を批判 自党支持率には「一喜一憂せず」 [少考さん★]
- 【急募】なぜ日本人は「左翼」が嫌いなのか [339035499]
- 【実況】博衣こよりのえちえちマリリシャホロ甲_5年目夏🧪🏴‍☠
- 【悲報】ミスタードーナツ、8個も買ったのに箱に入れてくれず炎上wwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】しぐれうい児童服コラボ中止 ロリ神レクイエムを歌ってしまったばかりに永遠とキャンセルカルチャーの標的にされてしまう ★2 [197015205]
- ジャップスタバ、売却wwwwwwwwwwwwお荷物だった… [668024367]
- 👊😅👊夜長のまったりダブパンハウス🌃🏡