【PHP】フレームワークについて語るスレ10【総合】
at PHP
[1からを表示]
50:nobodyさん
08/08/28 23:25:03
>>49
俺も>>23の質問に対する正しい解答は知りたい。
>>44がいってる
>staticメソッドとシングルトンパターンとじゃ、比較したり置き換えたり出来るもんじゃないんだよ。
っていうのも、少しずれてて、
>>23は、
全部staticなクラスを作るというデザインパターン と singletonというデザインパターンを比較してるのであって。
で、>>30の回答も、
そのアプリケーションを扱う人間が全部staticなクラスを作るというデザインパターンに対して共通認識を持ててたとしたら、
特に不都合は無い、ってことなのかな。
51:nobodyさん
08/08/29 01:26:14
全部staticなクラスって単なる構造化プログラミングじゃん。
52:nobodyさん
08/08/29 01:39:13
>>51
それは言えるかも。オブジェクト指向ではないと。
まあぶっちゃけstaticなプロパティを、globalsのいらないglobal変数として
使ってる私が通りますよ、と。
原則がないといくら文法がJavaに近くなっても意味がないってことはありそう
でもそれはデザインパターンと直接には関係しないような
singletonにしたって、普通にglobalじゃんっていう評価みたいだし。俺はよくわからんけどね
53:23
08/08/29 03:15:53
オブジェクト指向は単なる表記方法ではなく考え方なので、
全部staticのクラスだろうがオブジェクト指向にすることは可能。
さらにいえば、別にクラスがなくても可能。
スレッドのないPHPではsingletonに色んなざっくばらんな代替方法があると。
ただ汎用的な知識としてはJavaのやり方が無難で
わざわざ他の方法をとることもないということだな。
よくわかった。
54:nobodyさん
08/08/29 03:25:48
えらく短絡的なまとめきたー
てかそんな投げやりなまとめなら23とか名乗らず名無しで書けよw
ちょっとでも擁護したレスが軒並み後悔するような、嫌な感じだwww
さあ寝よ
55:nobodyさん
08/08/29 03:31:33
?
別に君に擁護されなくても全く困らんよ?
もともと馬鹿に的外れな批判されても痛くもなんともないし
56:nobodyさん
08/08/29 09:09:19 EVgfNfnd
>>30みたいな説明じゃ、シングルトンがなにかも、staticメソッドと比べての利点もわかんないよ。
こんな説明をする先輩いるけど、ほんと自己満足だよな。
シングルトンのかわりにstaticメソッドでもいいじゃんというのは、そのとおり。
$obj = FooClass::getInstance();
$obj->method();
とするだけなら
FooClass::method();
でいいじゃんと思うのは自然なこと。
ただシングルトンはオブジェクト指向の機能を使えるので、
・継承が使える
・他のメソッドに引数として渡したりできる(オブジェクトなので)
・任意個の個数に設定できる(1個である必要はない)
という利点がある。こういった点が必要ないなら、staticメソッドで構わないよ。
たとえば
$obj = FooClass::getInstance();
other_function($obj);
ということをしたかったら、staticメソッドじゃなくてシングルトンのほうが自然だよね。
シングルトンもstaticメソッドもあくまで手段でしかないので、目的がstaticメソッドで満たせるなら
staticメソッドでもいいんじゃない。
57:nobodyさん
08/08/29 10:42:02
rubyのmixinみたいなことしたいのですが、どうしたらいいですか?
クラス定義の中から、
class Hoge {
self::mixin('OtherClass');
}
↓
HogeにOtherClassがmixinされる
みたいな形にしたいのですが。
runkitは不安定だったので使いたくありません。
58:nobodyさん
08/08/29 10:51:30
__call でがんばるか、ruby を使ってください
59:nobodyさん
08/08/29 11:13:07 YM8BIoOF
>>57
RhacoというフレームワークではMix-inをサポートしているそうだからみてみるといいかも。
URLリンク(rhaco.org)
URLリンク(ll.jus.or.jp)
> 変態的国産PHPフレームワークrhaco
> doctest、distutils、mix-in等PHPでは聞き慣れない機能について紹介します。
60:nobodyさん
08/08/29 11:39:37
>>59
ありがdみてみます
とりあえずsymfonyのsfMixerを見てみたけど
__callの中からsfMixerを呼んで、そこでバックトレース情報を利用して
混ぜられた側のメソッドにデレゲートしてる感じ
この方法だと、混ぜられた側のメソッドから
混ぜてる側のメンバにアクセスできないような・・・
61:nobodyさん
08/08/29 12:35:23
rhacoのmixinはeval使ってました
速度さえ気にしなければeval使えば大抵のことできますね〜
evalでいくしかないかな
62:nobodyさん
08/08/29 13:15:34
全部staticメソッドにするというなら、それは構造化プログラミングそのものなわけで、それと比較するなら、オブジェクト指向プログラミングだろ。
シングルトンパターンという実装パターンの一つとじゃ比較の対象にならない。
63:nobodyさん
08/08/29 13:57:50
構造化プログラミングとOOPを峻別してる奴なんなの?
OOPは構造化プログラミングを含んでるんだよ
書き方の問題ではない
64:nobodyさん
08/08/29 19:54:55 YM8BIoOF
>>62
なに難しいこといってんの?
シングルトンでやろうとしていることは、staticメソッドでもできるんじゃね?というだけの話。
なんで構造化プログラムだとかオブジェクト指向との比較とかでてくるの?ばかなの?
65:nobodyさん
08/08/30 03:25:30
>>57
runkitは使ったことないですが、これは使ってます。
URLリンク(d.hatena.ne.jp)
qiqもすごくいい。もう普通のPHPは書けなくなるw
URLリンク(d.hatena.ne.jp)
66:nobodyさん
08/08/30 04:23:53
構造化プログラミングとオブジェクト指向プログラミングは比較して語られるものだよ。
あるプログラム、ある言語をを見て、それが構造化プログラミングなものなのか、オブジェクト指向プログラミングなのか、区別されるんだから。
その区別が出来ないというのは、人類皆兄弟とかいうたぐいの屁理屈だ。
67:nobodyさん
08/08/30 11:36:30
もうお馬鹿ちゃんは書かない方がいいんじゃないか
自分を大きく見せようとする努力ほど無意味なものはない
68:nobodyさん
08/08/30 12:39:53
オブジェクト指向プログラミングは、構造化プログラミングを含んでいるものだから、
プログラムを見て、オブジェクト指向プログラミング特有のクラス等を
(正しく)使っていればオブジェクト指向、使っていなければ構造化って判断をするな。
69:nobodyさん
08/08/30 18:14:35 OmTt4XZu
RUBYはオブジェクト指向を前提とした言語で、PERLは本来構造化言語なのをパッケージをクラスに流用することでオブジェクト指向の機能を持たせている。
昔の8ビットマイコン時代のBASICはGOTO文で処理を行き来する非構造化言語。
このプログラミングのパラダイムシフトは世界の共通認識だから。
70:nobodyさん
08/08/30 20:22:14
>>68
「〜判断をするな。」が、I do なのか you shouldn't do なのかわからん
>>69
>このプログラミングのパラダイムシフトは世界の共通認識だから。
だから、何なんだ
どうせならもう少し結論を明確にしてもいいんじゃないかと思う
話がふわふわして仕方がないw
71:nobodyさん
08/08/30 20:38:57 /jeGwvoC
はじめまして、質問させてください。
社内でWebサービス構築のために
MVCモデルのPHPフレームワークを作ることになったのですが、
どのあたりまでの実装でフレームワークとして体をなすのか分かりません。
どなたか教えていただけませんでしょうか?
72:nobodyさん
08/08/30 20:57:57
それが分からない人達がフレームワークを作ることに意味があるとは思えない
既存のものを使った方がいいのでは?
73:nobodyさん
08/08/30 21:07:18 /jeGwvoC
回答ありがとうございます。
私も車輪の発明になる気がしてどうも100%乗り気になれないのです。
ちなみに72さんは自作フレームワークの作成または、
既存のフレームワークで、ずっと使い続けてるものありますか?
74:nobodyさん
08/08/30 21:12:11
>>72
オープンソース全面禁止とかいう規則の会社もあるらしいし、
意味が無いかどうかはわからないのでは?
(PHPやApache自体もオープンソースだから、それはないかもだけどw)
>>71
フレームワークを利用する目的って、多分複数案件で使い回す事が出来て、また
複数の開発者で、またある程度の期間にわたって共通認識・理解をもつことで、
開発コストおよび保守コストを抑えることだと思うんだ
後は、基本的な部品を気合い入れて作ることで、品質の最低ライン(主にセキュリティ面など)を
保証するという意味合いもあるけど
だから、どこまでというのは程度問題でしかないと、個人的には思う
やりすぎれば使い回しに自由がきかなくなったりするし、緩すぎれば保守コストの
軽減には役に立たなかったりするんじゃない?
極端に言えばディレクトリ構造を決めて使い回すだけでも、ある意味「フレームワーク」
だと思う
75:nobodyさん
08/08/30 21:29:08 /jeGwvoC
>>74
>だから、どこまでというのは程度問題でしかないと、個人的には思う
なるほど、なかなか外部の方との技術意見交換をする機会がなくて参考になります。
ありがとうございます。
実は1ヶ月ほど前に公開になったあるBtoBのWebサービスで
MVCではないですが、自作でフレームワークを作ってみました。
少しは楽できるのですが、ホントに方向性的に合ってるのか、
若干迷いつつあるんです。
上からMVCモデルのフレームワークを準備してくれと頼まれた中で、
また0から準備することが本当に必要なのか迷ってまして。。。
この掲示板でやめた方がいいなと思ったとしても
やらないといけないことには変わりないんですけれど。
76:nobodyさん
08/08/30 21:46:18
MVCにこだわるなら
・各データの出し入れの基礎的な記述と、各データごとのロジック
・表示に関する基礎的な記述とロジック
を、実行スクリプトから切り離すのが最低限?
例えば、昔よく見た
<?php
// DB接続処理ほげほげ
(省略)
$sql = 'SELECT * FROM customer;';
$ret = mysql_query($sql, $db);
$rows = array();
while($row = mysql_fetch_assoc($ret)){ $rows[] = $row; }
?>
<html>
(略)
<?php
foreach($rows as $row){
(略)
}
?>
(略)
</html>
なんてのを、どう分けるか、何のために分けるか、というお話だと思うんだ。
その具体的な分け方・方向については・・・うーん俺は人に教えるほど
きちんと勉強していません。頑張れ!(オイ)
77:nobodyさん
08/08/30 22:03:54 /jeGwvoC
>>76
ありがとうございます。参考にさせていただきます。
78:nobodyさん
08/08/31 11:40:02
>>75
えーとな。
まずフレームワークを使ってから
考えれ。
79:nobodyさん
08/08/31 18:59:51
>>75
>>78の言うように
まず既存のフレームワークを利用してみて、長所や短所を理解してから、
自分(とその周り)が使うに当たって必要な構造としてどうなってると使いやすいか考えて
設計しなきゃいけないんでない?
CIスレとかCakeスレで出てる疑問とかそこらのブログで出てるような疑問とかも割りと参考になりそうな気がします。
後、巷ではやってるフレームワークは付属のライブラリが充実してるってのもポイントだったり。
Viewにはテンプレートエンジンを使う必要があるのかとかも考えたり。
>>71がどのように考えてるか分かりませんが、結構重そうな内容ですね。
で、俺もまた、人に教えるほどきちんと勉強していません。頑張れ!(オイ)
80:nobodyさん
08/08/31 22:02:43 BcOgvLp9
ありがとうございます。
ViewはSmartyの実績があるので、ほぼ確定かと思います。
あとはMCですね。
で、ご指摘の通り、既存のフレームワークをいくつか
実際に使ってみて、超シンプル版から作っていこうと思います。
それにしても結構種類ありますよね〜。
81:nobodyさん
08/08/31 22:18:42
>>80
とりあえずCakePHPとCodeIgniterは分かりやすいかな。
SinfonyやEthnaも人気あるっぽいけど。
後は、とりあえず有名なフレームワークをそのまま流用して、
自分の作りたい方向性に足りないものを追加/修正してやって、
作っちゃうっていう方向性も検討の余地がありそうです。
82:nobodyさん
08/08/31 23:09:43
骨は例えばちいたんでもいいのでは
他のはどうしても、流儀を覚えてそれに則らないと
カスタマイズも難しいような所があるし
ライブラリは、ぶっちゃけPEARやZendを引っ張ってきて、
そのままではごちゃごちゃになるなら、その一部のコードを、
流用して使えば済むことも多い
83:nobodyさん
08/08/31 23:44:28 BcOgvLp9
>>81
なるほど、参考になります。ありがとうございます。
CodeIgniterは知りませんでした。勉強になります。
>>82
>流儀を覚えて
そうですよね。そのコストもありますよね。
ライブラリについては私も同感です。
PEARは今でも使ってますし、DBはADODBを使ってます。
84:nobodyさん
08/09/01 07:50:32
しかし、PEARやADODBを使えるのにフレームワークは自作しなきゃならん意味が分からんな。
85:nobodyさん
08/09/01 16:27:37
勝ち馬に乗れなくてサポートが止まったらどうするんだ、とか、
複雑すぎると兵隊に書かせられないから却下
(自社開発なら開発者が目の前にいるから例外)とか、
その手の腐った理由かもな。
自作FWなんて最初からサポート止まってるも同然なんだけど。
あとあれだ、
FW使った分だけ工数が削減されるがそれじゃ困る、
なんていう理由じゃないか?
86:nobodyさん
08/09/01 20:42:35
フレームワーク使うと大幅に工数下がるね。
でも、フレームワークを勉強するためのコストが要るね。
でもさ、そもそも最低限の勉強をしてから実践投入しろと。
フレームワーク=最低限の勉強だよ。
87:nobodyさん
08/09/02 15:46:31
自分の印象では、CodeIgniterは分かりやすくて良かったです。
SymfonyとかCakePHPは、使い方を学習する段階で、面倒くさいな〜と思ってしまいました。
辛抱強く性格でないと、じっくり腰をすえてフレームワークの使い方を学ぶ段階が苦痛に感じられますね?
Zend Frameworkも解説本は分かりやすかったです。
ちいたんはチュートリアルが不十分であると感じました。
EthnaやMapleは試してないので分かりません。
「日本向けの携帯サイトを作る」という視点で見た場合、各フレームワークの使いやすいさ、機能はどうでしょうか?
88:nobodyさん
08/09/02 19:21:26 kKY94AaP
一般的に、フレームワークでは、
データベースの外部キー制約を設置していた場合、
親テーブルの行を削除したら、
対応する子テーブルの行も削除されるようになっているのでしょうか?
89:nobodyさん
08/09/02 20:08:08
>>88
参照整合性制約(外部キー)までチェックしてデータ操作してくれる
モデルを実装しているフレームワークは寡聞にして聞いたことが無い。
有ったら俺も知りたいな。
90:nobodyさん
08/09/02 20:41:21
Zend_Dbはそんな感じのやつあったんじゃね?
91:nobodyさん
08/09/02 20:51:11
ON DELETE CASCADEではだめなん?
DBのパフォーマンスのため、参照整合性制約を付けずにアプリケーション側で
実装する場合もあるとは思うけど、外部キー制約してるんだよね?
92:nobodyさん
08/09/09 00:13:17
既出だけどsabelなるフレームワークが出てるけど、最近はルーティングとかYAMLとかの設定ファイルに書かないのが流行りなの?
93:nobodyさん
08/09/13 19:22:25 lKt9XZcp
テンプレートメソッドってだいたいprotectedにするじゃん
そしてzend規約では、protectedなメソッドの名前は_hogeにする
でも、子に_付きのメソッドのオーバーライドを求めるのって
何かきもくね?
_を付けるってのは、「内側で使ってる」っていうしるしで、
テンプレートメソッドは、子とはいえ、自分以外に実装をまかせるという、
ある種の外側志向。その齟齬がきもさの原因と思う。
publicにするか、規約を破るか、きもさを受け入れるか・・悩ましいぜ
94:nobodyさん
08/09/13 21:34:17
そういう文化的な気持ち悪さはわかりにくいな
例えば private と protected をわけるスタイルもある
_ と __ とか (←わかりにくいw)
Zendは特にわけてないのかな?
95:nobodyさん
08/09/13 22:06:52
__は__setとか__constratみたいのがあるじゃん
96:nobodyさん
08/09/13 22:09:06
↑予約メソッドをリストアップして回避すればいいじゃん
そんなに無いよ
97:nobodyさん
08/09/13 22:11:08
そこはPHPが糞としか言いようがないな
せめて予約メソッドは、__set__ とか __clone__ とかにしておいてくれればw
98:nobodyさん
08/09/13 22:12:10
めんどい
99:nobodyさん
08/09/13 22:14:01
___set っていうのもありか。
コーディングの自由度の幅や読みやすさを考えるなら、
いっそ予約されたメソッドなんかは
__reserved_method_CONSTRUCT()
くらいやってくれてもなんの問題もないしな
100:nobodyさん
08/09/13 22:25:24
->が一番嫌いなんだよな
.がいいよな.のほうがカッコいい
101:nobodyさん
08/09/13 22:30:28
>>96
__ で始まるのは 全部 予約メソッドなんだが
102:nobodyさん
08/09/13 22:35:44
>>100
そうすると、文字列連結が + になり、
連鎖的に toString() 的なメソッドが欲しくなり・・・
Cっぽいな strval() をがんがん使うつもりならそれでもいいが、
Perl派生言語のジレンマを、そう気軽に語ってくれるなw
>>101
それはPHPの「仕様」ではないよね。雰囲気ではそうかもだけど。
実際、ユーザ定義のメソッドで __ が使えない訳ではない。
103:nobodyさん
08/09/13 22:53:57
protectedとprivateは別物なのに、_で一緒くたにしているのは、
ZF規約の欠点ではなかろうか。
ZF自体の作りの洗練されなさを考えると、
深い考えがあってそうしたものでもなさそう。
実際symfonyなんかは、Javaと同じでプレフィックス付けたりしてないし。
Rubyでもそんな習慣聞いたことない。
PHP4の呪縛を引きずってるだけじゃね?
こんな規約、いらないんじゃね?
104:nobodyさん
08/09/13 22:59:30
>>103
publicと、private,protectedの区別をメソッド名でつけることは、
意味がないとは思わない
> protectedとprivateは別物なのに、
っていうのは同意だけどね
それについて、ここしばらくPHPの仕様がらみのレスが
付いてるように見えるんだがそれについてはどうなんだw
105:nobodyさん
08/09/14 00:28:45
>>100
.のが使いやすいのは同意なんだけど、加算演算子と文字列連結演算子が別なのは
PHPの数少ない美点の一つだと思ってる。
106:nobodyさん
08/09/14 01:05:36
>>105
それは単純にPerl由来なんだけどな。$ と同様に。
$ の使い方としては劣化してるし、この辺はもうPerl文化を切り捨てるか、
PHPの独自路線が欲しい所ではある
107:nobodyさん
08/09/14 01:09:29
配列が@とか%じゃないのは良いよな
あれきもいし
108:nobodyさん
08/09/14 02:35:06
PHPってびっくりするほど独自路線というものが無い言語のような気が...
Perlの遺産だったり、Cが透けて見えたり、Javaのパクリだったり...
で、だからこそ普及しているんじゃないかな。
あと関係ないけどPHP6で常にUnicodeモードを有効にしたのは英断だと思う。
パフォーマンスやメモリへの影響も今時のサーバで問題があるほどでもないし。
5系から6への移行は大変かもしれないけど、それで仕事が増えるなら構わないw
109:nobodyさん
08/09/14 03:31:07
ユニコードモードって何が変わるの?
110:nobodyさん
08/09/14 04:04:33
未だにPHP4とかの鯖あるし
4,5,6とか大変なんだが〜
111:nobodyさん
08/09/14 04:10:29
新規案件で4の鯖はないっしょ。てか誘導しようよ
保守案件で4なら、ご苦労様としか言えぬw
6は、一応5.3と互換性を持たせるつもりみたいだね
その5.3が大変なんだろうけど、まだ見ないねぇ
112:nobodyさん
08/09/14 09:51:48
別にPHP4でも困らないけどな。PHP5の機能で役に立つのは例外くらいなもんだし。
113:nobodyさん
08/09/14 10:42:39
オブジェクトが代入でコピーされなくなったのは、地味に気持ちいい
114:nobodyさん
08/09/14 10:44:44
&付ければいいだけじゃん。
115:nobodyさん
08/09/14 11:30:26
cloneだろ
116:nobodyさん
08/09/14 14:34:14
4だから困るとか言うよりは、2系統あるのが困る
117:nobodyさん
08/09/16 20:53:37
>>115
コピーって言っちゃだめなの?
118:nobodyさん
08/09/16 23:08:17
>>117
>115は>114に対して
119:nobodyさん
08/09/17 13:33:07
PHPをやめるとしたら、何を使いますか?
・Ruby
・Python
・Perl
やっぱPythonかな?
120:nobodyさん
08/09/17 13:35:32
Perlは個人的にないな。
121:nobodyさん
08/09/17 13:41:27
>>119
仕事的には、PHPより高速で安定的に動作して、
月額1000円程度以上のレンサバには95%以上の確率で入ってるなら
なんでもいい。
そんなのある?
122:nobodyさん
08/09/17 13:43:47
つPerl & FastCGI
FastCGIの方は、95%にはちと足りんかな?w
123:nobodyさん
08/09/17 13:50:56
Rubyに移行しようと思ったけど
ZendStudioがあるから結局PHP使ってる・・
124:nobodyさん
08/09/17 18:12:51
書いてて面白いのはPerlだね。
125:nobodyさん
08/09/17 18:45:58
じょうだんよしこさん
126:nobodyさん
08/09/17 22:00:15
PHPのつまらなさは異常
127:nobodyさん
08/09/18 02:36:03
qiq入れればまだ楽しめるよ
128:nobodyさん
08/09/18 16:41:27
ますかきおくん
129:nobodyさん
08/09/18 16:49:43
qiq面白いとは思うけど
コードの依存部分が全体に広がるエクステンションを入れるのはやっぱり抵抗あるわ
もしそれがダメになった時のことを考えると
130:nobodyさん
08/09/18 16:52:54
楽しめても、業務利用は無理っしょ
まだRubyで楽しんでる方が健全じゃねーかwww
131:nobodyさん
08/09/18 19:11:26
趣味用の言語ならもっとマイナーな奴でもやれよ
132:nobodyさん
08/09/18 19:12:59 ykJuPDO5
>>129
別に、フレームワーク使ったってそのフレームワークに依存するじゃん
なんでQIQだと抵抗があるのか
133:nobodyさん
08/09/18 20:57:09
そりゃあんた、なんか不可解な挙動があったときに、どこまで自分の力で
調べて修正できるのかって点で、違いすぎるだろw
ぶっちゃけ、PHPのコアに関わっている人間にとっての別実装や実験として
でもなければ、QIQなんておもちゃ以外の何者でも無かろうが
134:nobodyさん
08/09/18 21:38:02
将来PHPがバージョンアップして
qiqの開発が停止して非対応だったら
それまで書いたqiq依存コードがもろとも脂肪じゃん。
フレームワーク使っててもフレームワーク非依存なプレーンなクラスは書いていくし
そういうのは流用が効く。
135:nobodyさん
08/09/19 00:57:48
PHPにもApacheにも何も保証があるわけじゃないのに。
PHP5依存コードが脂肪しない保証もない。
Zendと契約結んでる? そりゃ失礼しました。
136:nobodyさん
08/09/19 03:33:16
>>135
確率の問題
137:nobodyさん
08/09/19 12:02:16
PHPのフレームワークと、土台のPHP・Apacheとを、どうやったら
同一視できるのか
また、ユーザの少ないというか皆無に近いQIQなるエクステンションと、
ばりばり商用利用され、長期間メンテの続いている普及率抜群の
プロジェクトとを同一視できるのも素晴らしい
>>132とか>>135とかは、きっと「フレームワーク」の中を調べたりましてや
いじったりなんて、思いもしないユーザなのかな?
ひょっとして全部同列に見えるくらいのスーパーハカーですか?
138:nobodyさん
08/09/19 18:10:39
PHPユーザーは裾野が広いってことでしょう。
サンデープログラマーから職業プログラマーまで幅が広い。
QIQは素晴らしいエクステンションだから、PHPを支援しているIBMやマイクロソフトとかの大手企業に支援してもらったらいいんじゃないですか?>作者の方
139:nobodyさん
08/09/20 13:23:29
ラムダとか5.3で導入されるじゃん
qiqって何が素晴らしいの?
140:nobodyさん
08/09/20 13:42:12
前スレでさんざん出てた [] じゃね?
執着してる人が結構いるようだし
141:nobodyさん
08/09/21 05:27:57
[]とハッシュ{}はほしいねぇ
あと -> を . にすれば書くのも読むのも楽だ
142:nobodyさん
08/09/21 05:32:43
C/C++の話かよw
143:nobodyさん
08/09/21 18:00:01
>>137
>PHPのフレームワークと、土台のPHP・Apacheとを、どうやったら
>同一視できるのか
おいおい、PHPの安定性をApacheと同じにしないでくれよ。
どうせPHPだってver4のサポートなんてもう打ち切られるじゃん。
未来永劫サポートされるわけじゃないし、どっちもどっち。
PHPもフレームワークもQIQも、どれもオープンソースじゃん。
だれかのメンテに頼るのもいいけど、必要なら自分でメンテすればいいじゃんか。
QIQなんてただのライブラリにすぎないんだから、そのくらいできるだろ。
でかいフレームワークのコード読むよりは小さいQIQのほうが楽。
144:nobodyさん
08/09/21 19:43:02
> QIQなんてただのライブラリにすぎないんだから、
ライ・・ブラリ・・・?
> でかいフレームワークのコード読むよりは小さいQIQのほうが楽。
確かにそうかもしれんが、QIQが何をやってどこを修正すれば
どうなるかってのをつかむ為には、少なくともCとBison(Yacc)と
PHPのCソースコードに関する知識が必要。
てか「楽」じゃねーよw
145:nobodyさん
08/09/21 20:08:55
QIQのソースコード読むのが楽なわけないが。少なくともPHPのウェブフレームワークなんかよりは遙かにスキルが要求される。
146:nobodyさん
08/09/21 21:37:07
あれはPHPの拡張モジュール作るのには必要ない、文書化もされていないようなAPIを叩いてるからね...
単体では短くても、理解しようとするとZend Engineのソースコード全体を見る羽目になるw
それとは関係ないけど、拡張モジュールを作るなら何気にPHP6はAPIが使いやすくなってる。
5.3もUnicode関連を除いてほぼ6相当だけど、便利な関数が5.3だけZEND_APIとしてエクスポートされていなくて切ないことも。
147:nobodyさん
08/09/22 00:20:44
>>145
>QIQのソースコード読むのが楽なわけないが。少なくともPHPのウェブフレームワークなんかよりは遙かにスキルが要求される。
それはおまえがWebのスキルしかないから。コンパイラコンパイラの初歩知識があれば、見れば分かる。
自分が慣れてる分野のコードは読めて、知識のない分野のコードは読めないのは当然。
148:nobodyさん
08/09/22 00:46:48
PHPで描かれたウェブのフレームワークとPHPのエクステンション、どっちが難解かは子供でも分かること
149:nobodyさん
08/09/22 01:04:16
いや、量によって変わるから、どちらが難解かは一概に言えない。
ただいえるのは、PHPという言語仕様を非公式変えてしまうようなものは
公式でPHPそのものが変わったときに対応が困難になるから
使うのはやめておけってこった。
150:nobodyさん
08/09/22 07:15:01
公式でPHPが変わったら、どっちもどっちじゃない?
151:nobodyさん
08/09/22 10:49:18
じゃない。
152:nobodyさん
08/09/22 16:45:08
アホな質問かも知れないけど、cakephpライクなフレームワークを作ろうかと
思ってるんですが、マジックメソッドの __get使ってモデルやコンポーネントの
呼び出しを下のようにやってみたいんだけど、何か問題あります?
class HogeController extends Controller
{
function index()
{
$data = $this->Model->classname->find();
$this->Component->classname->hogehoge();
}
}
153:nobodyさん
08/09/23 00:47:41
>>152
$this->Modelとか$this->Componentの__get()で、
与えられたクラス名のオブジェクトを生成・取得するって仕組み?
特に悪いとも思わないけど、必要とか便利とかもあんまり思わないw
例えば設計思想とか、利用時の利便性とかもあるんだろうけど、
同じ事をするのに、Model::factory()とかModel::singleton()でも
いい場合もあるかもだし
ピントはずれだったらスマソ
154:nobodyさん
08/09/23 00:51:04
>>153 微妙に修正
> 同じ事をするのに、Model::factory()とかModel::singleton()でも
→ 同じ事をするのに、Model::factory(classname) とか new classname() とか classname::singleton() とかでも
155:nobodyさん
08/09/23 02:07:19
new は method chain できないから却下
156:152
08/09/23 15:14:04
cakephpだとコントローラーのプロパティに
使うコンポーネント設定するのいちいち面倒だな〜と思ってたんで。
そういうやり方もあるんですね、勉強になります。有り難うございました。
157:nobodyさん
08/09/23 17:34:13
∧_∧
( ´∀`)< ぬるぽプロジェクト
みんなで面白いサイト作って有名にしようぜ!
スレリンク(news4vip板)
★まとめwiki
URLリンク(www39.atwiki.jp)
PHPのフレームワークとして symfonyを採用予定です。
158:nobodyさん
08/09/23 20:55:42
>>157
スレ荒れすぎワロタ
159:nobodyさん
08/09/23 21:24:50
>>158
自動保守おいしいです(^q^)
160:nobodyさん
08/09/26 16:21:57
フレームワークとは直接関係ないけど5.3でspl_autoload_register(function($name){...});
すると実際にautoloadされるときにbus erorrで落ちるね。
spl_autoload_register($f=function($name){...}); なら$fが生きている間だけは落ちない。
161:nobodyさん
08/09/26 16:42:24
5が出ても枯れるまで結構時間かかったし
6も使えるようになるまでは長いだろうなぁ
162:nobodyさん
08/09/27 08:37:12
一人で最初期モックアップ作るなら、
railsとcakephpと、どっちが向いてる?
163:nobodyさん
08/09/28 11:02:03
その比較って意味あるのかな?
Ruby(少なくともRails)とPHPが同等にできる人にとってしか答えようがないし、
回答もしかりw
164:nobodyさん
08/09/28 11:49:26
cakeみたいな厨フレームワーク使ってる人恥ずかしくないんですかぁ
165:nobodyさん
08/09/28 15:59:10
んじゃ何使えばいいの?
166:nobodyさん
08/09/28 18:15:32
☆Z☆E☆N☆D☆!!
167:nobodyさん
08/09/28 22:06:23
Zend…
無いわー
168:nobodyさん
08/09/28 23:15:36
zend使いまくりだけど
何が不満なのかわからない
169:nobodyさん
08/09/29 06:03:55
モックならちいたんで良いジャマイカ。
170:nobodyさん
08/09/30 00:08:37
モックなら素のPHPでいいよ
171:nobodyさん
08/09/30 00:17:33
モックはHTMLで十分なこともおおくない?w
ヘッダフッタ辺りのレイアウトとかで楽したいなら、
手慣れたテンプレートエンジンがあればいいかもだけど
フレームワークってのとはちょっと違うような
多分必要なのはView側の省力化・柔軟性かなあ
172:nobodyさん
08/09/30 00:41:51
マックでいいよ
173:nobodyさん
08/09/30 01:56:27
楽天がセッションidごとgoogleにキャッシュされ、
個人情報を漏らしまくって最終的にPHP脂肪www
174:nobodyさん
08/09/30 03:55:27 CLW/UbJj
物区ならPencilでいいんじゃね
175:nobodyさん
08/09/30 06:24:36
つーかsymfony一択だろ
フレームワーク作者で一番センスあるコード書くのがフランチョス。
176:nobodyさん
08/09/30 07:01:23
symfonyは関数名がダサい
_区切りとかKENTかよw
177:nobodyさん
08/09/30 07:07:59
そんな規約ないよ
何かと間違えてないか?
178:nobodyさん
08/09/30 07:12:10
あれれ〜symfonyじゃなかったっけ?
179:nobodyさん
08/09/30 07:26:27
symfonyはJavaと同じキャメルケースだよ
180:nobodyさん
08/09/30 19:28:17
そもそもPHPの標準関数の命名がいい加減なんだから、拘っても意味ない。
181:nobodyさん
08/10/01 01:38:54
PHPはキャメルケースとアンダースコア混在しまくってるからな
クラス名とか関数名とか考えるとき、どっちにしようかいつも迷ってしまう
182:nobodyさん
08/10/01 01:50:42
それ単に昔の関数と最近のクラスメソッドなだけだろ
183:nobodyさん
08/10/01 07:31:56
将来的にはほとんどオブジェクト指向のラッパーが用意されて
関数は地下に潜った存在になるだろうな
184:nobodyさん
08/10/02 19:06:50
最近のは殆どキャメルケースに一本化の流れなんかね
アンダースコア派だったからどうもなじめない
185:nobodyさん
08/10/02 19:46:59
オブジェクト指向な関数(メソッド)で
アンダースコアが普及しているような言語あるの?
186:nobodyさん
08/10/02 19:54:09
るby
187:nobodyさん
08/10/02 19:55:23
くそ言語ww
188:nobodyさん
08/10/02 19:59:51
PHPに言われたらしめぇだべ
189:nobodyさん
08/10/02 20:29:01
PHPよりも糞な言語なんてINTERCALくらいだろ
190:nobodyさん
08/10/02 20:58:24
キャメルケースでも、メソッド名でM$流のUpperCamelCaseは勘弁して欲しい
それはクラス名だけでいいと思う
191:nobodyさん
08/10/02 21:19:41
メソッドをアッパーキャメルケースで書く人なんているの?
そんなコード見たことない
192:nobodyさん
08/10/02 21:28:23
C#とかかじった人はやる。
携帯ミドルウェアとかやっててC/C++は触るがJavaは触らない、って人もやる。
まあぶっちゃけ Java vs. C# なんだけど、PHPは中途半端なので混在してる。
その点Rubyは、作ってる・使ってる人間がC・Perl on *nix の人メインなので、
アンダースコア派が主流なのかな
また、RubyではUpperCamelCaseは文法的に定数扱いされるので、メソッド名や
通常の変数名には使えない。・・・MS流が嫌いなのか?w
193:nobodyさん
08/10/03 00:28:34
そういう書き方の自由を奪う言語は嫌われる。
194:nobodyさん
08/10/03 02:07:48
Rubyの_でつなぐのはPerl由来だろうね。俺は_でつなぐのが見やすくて好きだけどな。
PHPはJava風なんだけど、初期に出来た関数の命名が超適当だからな。引数の取り方とかも。
C#とかJavaはどうせIDE使うんで、まあ、どうでもいいような気がする。
195:nobodyさん
08/10/03 11:11:04
大文字小文字を区別しないものにCamelCaseを使うのは、ちょっと気持ち悪い
196:nobodyさん
08/10/03 14:57:50
キャメルケースの種類
アッパーキャメルケース (UCC)、またはパスカルケース(PascalCase)
複合語の先頭を、大文字で書き始める。
つづり例:CamelCase
ローワーキャメルケース (LCC)、または単にキャメルケース
複合語の先頭を、小文字で書き始める。
つづり例:camelCase
197:nobodyさん
08/10/03 15:09:46
なんでわざわざ書いたん?
自分用メモか?
198:nobodyさん
08/10/03 15:43:33
初めて知ってうれしかった
199:nobodyさん
08/10/03 16:36:40
CSSですらできる多重継承ができないPHPって一体・・・
200:nobodyさん
08/10/03 17:18:11
Mixinがあれば多重継承なんて必要ありませんよ
201:nobodyさん
08/10/03 17:57:27
>>199
Javaもですが・・
202:nobodyさん
08/10/03 18:04:06
Mixinを提供しているRubyだけがCSSと肩を並べているということですね
203:nobodyさん
08/10/03 19:59:32
つまり、いや、やめておこう
204:nobodyさん
08/10/03 20:27:36
>>185
pythonもメソッド名は、アンダースコアが一般的かな。
クラス名はキャメルケースだけど。
205:nobodyさん
08/10/03 20:55:12
最後の文字だけ大文字にする逆キャメルケースにしてる人いる?
geThogEとか
206:nobodyさん
08/10/03 23:42:27
>>205
どうでもいいけど、読みづらくね?
207:nobodyさん
08/10/03 23:48:08
ゲ ソォグ イー と読んでしまった
208:nobodyさん
08/10/04 00:29:16
>>205
まずそうしようと思った意図はなんだw
さすがにこれは利点も考え付かんww
209:nobodyさん
08/10/04 00:31:58
難読化とかw
210:nobodyさん
08/10/04 04:52:10
<?php
class Class_Name
{
public function methodName( )
{
functionName($valOne, $valTwo);
if ($a == 1){
$b = 2;
}
}
命名規則、俺の結論はこのあたり。
URLリンク(framework.zend.com)
URLリンク(solarphp.org)
Zend, Solarあたり守っとけばPEARの規約でも問題ない。あとクラス名は_で区切っとかないとauto loaderがめんどい。
211:nobodyさん
08/10/04 07:46:06
if (---) {
212:nobodyさん
08/10/04 13:25:04
>>210
>あとクラス名は_で区切っとかないとauto loaderがめんどい。
kwsk
213:nobodyさん
08/10/04 15:19:20
>>212
>>210じゃ無いけど、ディレクトリ構造を反映ってことじゃない?
Perlのモジュール風?
Zend_Db_Table_Rowクラス => Zend/Db/Table/Row.php
ってな感じじゃないかと想像
214:nobodyさん
08/10/04 15:29:32
explodeですぐパスに変換できるってことか
たしかに_区切りはよさげだな
215:nobodyさん
08/10/04 20:31:20
へー
216:nobodyさん
08/10/05 02:47:20
>>213
その通り。フォローthx
PEARでもその命名でディレクトリきってるし、PEAR2ではそのルールでauto loader標準だと思ったよ。
217:nobodyさん
08/10/05 04:57:56
細かい話になってくるが、DBとかPDFとかいう略語の場合、
DBなのかDbなのか、PDFなのかPdfなのか、っていう違いも
あるねw
これがまた人によってまちまちだし、同じ人でも場合によって
違う場合がある
218:nobodyさん
08/10/05 05:28:14
zendスタイルにした時、そこが一番しっくり来なかったような気がする
あとプロパティはどうせ全部 private なので _ が面倒
219:nobodyさん
08/10/05 11:01:14
デザインパターン使うときはデザインパターンも名前に入れてる
例えばSolar_Auth_Adapter_Sql はパッケージ名はSolarで認証クラスをアダプターでSQLクラスで実装してるクラス。
Solar/Auth.php
Solar/Auth/Adapter.php Solar_Auth_Adapterクラスで抽象クラスを定義
Solar/Auth/Adapter/Sql.php Solar_Auth_Adapter_Sql クラスでSolar_Auth_Adapterクラスを実装
220:nobodyさん
08/10/06 14:16:23 H0RcPBpG
みんな努力してるんだなー。
参考になります^^
221:nobodyさん
08/10/07 00:37:43 h510jQqa
>>205
意味不明で面白い。ウケる。
222:nobodyさん
08/10/07 14:11:17
>>219
> デザインパターン使うときはデザインパターンも名前に入れてる
それ、使うときもあったり使わないときもあったり、
クラスに単一のパターンしか適用されない場合、
そのパターンの為のクラスの場合には、そういう名前付けられるけど
一つのクラスに複数のパターンが適用される場合困るんだよな。
223:nobodyさん
08/10/07 14:44:16
俺様フレームワークをやめようと思って、CakeかSymfonyを導入しようと思うけど
結局どれがいいんだ…
224:nobodyさん
08/10/07 14:53:14
逆に俺様フレームワークを公開して
スタンダードにしてやれ
225:nobodyさん
08/10/07 14:58:34
結局はちいたんでいいじゃんっていうレスがつく未来が見える
226:nobodyさん
08/10/07 20:28:02
ちいたんは、その名前が失敗の理由のひとつである。
227:nobodyさん
08/10/07 21:32:19
>>225
結局はちいたんで(ry
228:nobodyさん
08/10/08 02:29:04
>>227
早いわw
229:nobodyさん
08/10/10 00:45:42
まあ増えすぎたよね
機能追加しすぎで扱いにくいWEBサービスのようだ
230:nobodyさん
08/10/16 15:04:15
>>225
まあ徴兵制だろうね。
戦前(に成人した)世代と戦後世代の日本人を見比べれば一目瞭然。
231:nobodyさん
08/10/16 15:31:37
なんだ?この妙に右よりの誤爆は
232:nobodyさん
08/10/17 00:38:24
PHPプログラマーの方でPHP用フレームワークを使っている方へアンケート! ※フレームワーク導入を検討中。先輩方は何を使っているのか?好んでいるのか?をアンケート。.. - 人力検索はてな
URLリンク(q.hatena.ne.jp)
Pradoが圧倒的ですねw
URLリンク(www.pradosoft.com)
233:nobodyさん
08/10/17 01:45:17
このpradoぶっちぎりはネタだよね?w
234:nobodyさん
08/10/17 03:15:57 7gkZ0lcc
>>233
PRADOの解説本が出てないじゃん!?
Zend、Symfony、CakePHP、CodeIgniterの本は出てるぞwww
出版社は売れるであろう本を出すはず
235:nobodyさん
08/10/20 02:51:25 ya5easnJ
symfonyってページネーション機能はあるんですか?
ネットで検索しても「ajaxでページネーション」はあるんだけど・・・
236:nobodyさん
08/10/20 17:37:11
英語の情報をなかったことにするのは君にとって損失かもしれないよ?
URLリンク(www.google.co.jp)
237:nobodyさん
08/10/20 21:10:52 Kq4igHV+
>>236
でもそれも機能たいしてなくないか?
CakePHPみたいに同一ページの複数モデルに対応してないでしょ?
っていうか、ページネーションって掲示板ですら絶対に必要になる機能なのに
なんで標準で付けないんだろ
238:nobodyさん
08/10/20 21:57:19
>>237
最適化が難しいから。
一度でもページネイションの機能を作ったことがあればわかると思うが、
DBから全データ読み込んでから絞り込むのか、検索条件を考慮したデータを
取得しておいてからそれを絞り込むのか、なんだかんだ。
基本的に、データの「件数」がわからないとページング出来ない。
(それを無視してやるページングもあるが。)
どうせライトユーザ向けには、DBやらと連携したページングを求め
られるんだから、「始めからつけてない」は、ある意味賢明な選択だよ。
・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
239:nobodyさん
08/10/20 22:10:00 Kq4igHV+
>>238
いや俺もたいしたやつじゃないけど作ったことあるし、
CakePHPのソースを解析したりしてみたけど、
そんなに難しくはないと思うけどな(だったらそれ使えばいいじゃんと言われるかもしれないが・・・)
>基本的に、データの「件数」がわからないとページング出来ない。
これは渡せばいいだけ
240:nobodyさん
08/10/20 22:21:43
>>239
うん。だから、>>238の二行目
>最適化が難しいから
と、最終行
>・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
が、結論なんだけどなw
「フレームワークに標準で付いていない」ってのが問題じゃ無かったのか?
241:nobodyさん
08/10/20 22:31:39 Kq4igHV+
>>240
PEARは使いたくない
まあ、付いてないことがはっきり分かったからもういいです
242:nobodyさん
08/10/20 23:11:01
paginationはZendなら標準で付いてる
しかも色んな状況に対応できる
さあ、ZFを使おう!
243:nobodyさん
08/10/20 23:27:07 Kq4igHV+
まあそれが普通だよな
244:nobodyさん
08/10/20 23:34:15
>基本的に、データの「件数」がわからないとページング出来ない。
CakePHPはよくできてる。
データの件数ってのは、データ用のSQL文のうち条件は同じでselectするものが、
フィールド名の変わりにcount(*)になっただけ。
そこの部分(フィールド名の変わりにcount(*))への変換を
自動でやってくれるから、データ用のSQLに相当する部分のみを書けばいい。
また、データ用のSQLにlimitを主導で追加する必要もない。これも自動で追加される。
つまり、「データを取ってくるSQL」を書いて「ペジネーション」処理を使うだけで内部的に、
「データを取ってくるSQL」には、自動的にlimitが追加されて発行され
「データを取ってくるSQL」には、自動的に件数を取得するcountに変更される。(当たり前だがこっちにはlimitはつかない)
(もちろんSQL直書きではなくモデルの操作だが)
最適化って話なら、データ件数を取得する関数をオーバーライドできる。(上のやつはデフォルト動作)
こういう目的でオーバーライドされるために存在するメソッドが用意されている。
245:nobodyさん
08/10/20 23:41:59
>>244
うーん。それは、例えばファイルベースのデータとかには適用できないよね。
メールボックスを漁るとか、さw
無理矢理使おうと思えば、いっぺんDBに放り込む必要がある。
そんな(SQLで全部済む)フレームワークばかりではない、っていう前提に
立てば、ページネイションの機能は汎用的なものにならざるを得ない。
データの件数と一ページ辺りの取得件数から、データ開始位置(番号)と
データ終了位置を取得する、みたいな。
SQLで言えば、OFFSET とそこからの LIMIT を取得するだけ、っていう。
んで、そんなクラスが乱立しても仕方ないので、PEARなりZendなり使えって
結論で多分無問題。
と思うんだけどなぁ
もちろん、>>244みたいな全自動?ページネイションを否定するわけではないけど。
246:nobodyさん
08/10/20 23:53:02
SQLを使わないページネイションなら別にある。
247:nobodyさん
08/10/21 00:20:07
mysqlならSQL_CALC_FOUND_ROWSを使いたいよね
248:nobodyさん
08/10/21 00:32:46
>>247
またそんな無茶ぶりをw
フレームワークなりライブラリなり作る身になれw
まあ、そんなこと言う人は自分で作るんだろうけど
249:nobodyさん
08/10/21 01:06:35
>>244
>CakePHPはよくできてる。
別にCakeだけがよくできてるわけじゃなくて、Cake以外もできてますよね?
250:nobodyさん
08/10/21 03:24:50
>>247-248
ページネイションとSQLをごっちゃにしてね?
SQL_CALC_FOUND_ROWSを使った独自SQL文からのデータを、
ページネイションに渡せばいいんですよ。
251:nobodyさん
08/10/21 03:26:05
>>249
symfonyにはないってことから、この話題がはじまっている。
252:nobodyさん
08/10/21 03:31:10
ページネーションくらい自分で書けばいいじゃん
253:nobodyさん
08/10/21 03:33:09
cakeなどという厨フレームワークを使える奴は恥知らず
それだけはガチ
254:nobodyさん
08/10/21 03:36:51
>>252
だからそういう問題じゃないんだって
そんなこといったらFWも自分で書けば(ry
255:nobodyさん
08/10/21 03:37:18
simplateの中の人が不治の病で引き継ぎする人募集してるね
面識ないし、simplateを使ったこともないけど泣きそうになっちゃった
256:nobodyさん
08/10/21 03:39:35
てかモデルは自分で書いた方がいい
FW付属のモデルだとクラスタリング対応とかしにくいじゃん
257:nobodyさん
08/10/21 03:41:23
こういうスレって必ず>>253みたいな奴が現れるよなw
258:nobodyさん
08/10/21 03:42:25
>>257
恥知らず乙www
259:nobodyさん
08/10/21 03:46:39
>>255
もういいんだ。PHPの世界でテンプレートはもう死んだんだ。
みなが、PHPがテンプレートそのものじゃね?と気づいた。
君の役目は終わった。
260:nobodyさん
08/10/21 03:53:16
simplateの中の人はいい仕事をしている
いい仕事をしている人を愚弄するな
261:nobodyさん
08/10/21 03:57:54
愚弄?
262:nobodyさん
08/10/21 03:58:45
>>255
一度計ったことがあるけど
たしかに速いね
>>257
相手にしない方がいいよ
263:nobodyさん
08/10/21 04:04:16
cake使いって案外多いんだなw
高カロリー低栄養のケーキ喰いすぎてメタボm9(^Д^)プギャー
264:nobodyさん
08/10/21 04:39:49
>>263
後半は、なんだい? ケーキの話かい? じゃあすれ違いだねw
265:nobodyさん
08/10/21 10:18:09
>>263
こいつ自分から頭悪い発言してるなw
266:nobodyさん
08/10/21 15:53:57
厨フレームワークだけあって
さすがにcake厨の煽りはレベル低いねw
267:nobodyさん
08/10/21 16:58:55
おまえらライスケーキでも食ってすこしもちつけ
268:nobodyさん
08/10/21 17:12:18
だいたいページネーションとmodelを一緒くたにするなんて愚かすぎだろ>cake
まず汎用的な単体ページネーションクラスを書いて
それにモデルをアタッチできる継承クラス書くなり
アダプタ書くなりするのが普通です
つまりsymfonyは神、cakeはホームレス
269:nobodyさん
08/10/21 18:03:54
> だいたいページネーションとmodelを一緒くたにするなんて愚かすぎだろ>cake
ページネーションがmodelと一緒くたになっていると
勘違いする人もいるんだなぁw
コントローラと一緒くたになっているというならまだしも。
(まあコントローラと一緒くたになるのは何の問題もありませんが)
いったいどこの部分を見て一緒くたといっているんだろうか。
modelから任意の範囲のデータを持ってくる機能?
これをmodelに入れないとしたらどこに入れるんだか。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4791日前に更新/167 KB
担当:undef