元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 127
php覧 / PC版 /みんなの評価 :
651 = :
毎回ブラウザ終了時にクッキー消してる人には大迷惑だな
652 = :
>>650
長い。3行で。
653 = :
クラスのヒアドキュメント内での挙動について聞きたいです。
// 222を出力するクラスaaa
class aaa{
function aaa_m(){
echo "222<br>";
}
}
// クラスaaaを継承したクラスbbb
// ヒアドキュメント内でクラスaaaのメソッドを出力
class bbb extends aaa{
function bbb_m(){
echo <<< EOF
111<br>
{$this->aaa_m()}
333<br>
EOF;
}
}
$bbb = new bbb;
$bbb->bbb_m();
クラスbbbのメソッドbbb_mを使うと
111、222、333とならぶはずが
222、111、333となります
となってしまいます。ヒアドキュメント内でクラスを使うと
最初に呼び出される仕様なのでしょうか?
654 = :
655 :
すみませんIDわすれてました
657 :
質問の答えの前にまず言っておくがコーディング自体に大きな問題がある
で、質問の答えだが、ヒアドキュメントのパースする際に
まずはその中の命令を処理する必要があると思わないか?
この結果には驚くような要素は何も含まれていないと思うよ。
658 = :
array_mapを使って下記のような関数をつくってたのですが、
クラスファイルで使いたいと思い、作り直しを試みているのですが
function hout($d) {
if (is_array($d)) {
return array_map('hout', $d);
}
else {
$d = htmlspecialchars($d, ENT_QUOTES);
}
}
以下がオブジェクトで
Class Hout
publice function __construct($d)
662 = :
Class Hout
{
private $d;
public function __construct($data)
{
$this->d = $data;
if (is_object($this->d)) {
$this->d = get_object_vars($this->d);
}
}
public function htmlsc()
{
var_dump($this->d);
if (is_array($this->d)) {
return array_map('Hout::htmlsc', $this->d);
} else {
$this->d = htmlspecialchars($d, ENT_QUOTES);
}
return $this->d;
}
}
としてみましたが、ループしてしまいます・・・
663 = :
なぜ >>658 をクラスメソッドにしたら >>662 になるんだ・・・
665 = :
安易にネットとPCを普及させたヤフーBBやPCショップにまで矛先いきそうな
668 = :
汎用性のかけらもないわけのわからないクラスですね
669 = :
cacheとはそもそもそういうもん。
サーバーを冗長化するのは、負荷分散で、データの多重化ではないよ。
データベースへのアクセスをメモリーを使って高速化するのが希望なら、tokyo tyrantを使いなさい。
671 = :
状況説明が下手すぎる
6で失敗してることは確認したの?
6で成功する環境が構築できていることは確認したの?
672 = :
そら、もともとの3台の設定のままなら、
同じように失敗してるとこへ聞きにいって、同じこと繰り返すに決まってる。
クラスタ纏めてるサーバーが1台あって死活まで管理してるならともかく、
簡易的な分散なんだから。
673 = :
>>671
すみません・・・
> 6で失敗してることは確認したの?
Yes
> 6で成功する環境が構築できていることは確認したの?
addServers(array(A,C))なら期待したとおりに動きます。
>>672
こんなコード書いてやってみましたが、確かにval1は取れませんね・・・そういうもんなのか(´Д`)
$m = new Memcached();
$servers = array(
array('localhost', 11211), //Memcachedが動いている
array('192.168.0.201', 11211), array(...), array(...), ... //存在しないサーバー100個ぐらい適当にぶっこむ
);
$m->addServers($servers);
$m->set('key1','val1',time()+100); //多分localhostじゃないとこに書き込もうとしてる
var_dump($m->get('key1')); // bool(false)・・・
674 = :
下手にイチイチ死活チェックするより、てきとーなスクリプトで常駐監視させて
Bを速攻で復旧させたほうがスマートじゃないだろうか
数秒間落ちただけでDBが死ぬほどクリティカルじゃないんだろ?
ハードのトラブルとかで長期間落ちる場合は、addServersのところを自動なり手動なりで
書き換えてクラスタから切り離す。
あとは>>669のようにNoSQLか。どう冗長化すりゃいいのか俺は知らんけど。
675 = :
>>670
アクセスが1秒間に数百もあるようなシステムなの?
676 = :
そら秒間数十リクぐらいのシステムならMemcachedクラスタ構成にする必要ねーだろ
DBそのまま叩いてもイケる
677 = :
そんなサイトがPHPって・・・
作成者が2chで質問って・・・
678 = :
あ?PHPなめんな
679 = :
wikiとかアフィブログとかでもピークで秒間数百なんて簡単にいくだろ
681 = :
まさかelseifがくっついてるからとか??
682 = :
しらねえが括弧つけてくれ。
見にくすぎる。
683 = :
if ($a == 0) {
if ($b == 0) {
}
} elseif ($a == 1) {
if ($b == 0) {
}
} else {
if ($b == 1) {
}
}
なんだこのクソみたいなコードは・・・
if ($a == 0 && $b == 0) {
} elseif ($a == 1 && $b == 0) {
} elseif ($b == 1) {
}
684 = :
うおくっつけててもええんか、、
685 = :
>>683のコードのように{}を入れると正しく動作します。。
理由がさっぱりです。。
if~elseif~else文のときは必ず{}を入れろということでしょうか?
687 = :
>>680
その式の解釈は
if ($a == 0)
{
if ($b == 0) print "a";
elseif ($a == 1)
if ($b == 0) print "b";
else
if ($b == 1) print "c";
}
だからです。 なんで elseif のが 一個目のifの受けだと思ったんです?
689 = :
>>685
自分でコード追ってみりゃわかる
わからないうちは括弧入れよう(わかっても読みやすくするために入れるけどね)
インデントは読みやすくするために必須だけど、間違ったインデントに騙されないようにね。
690 = :
>>687,689
有り難うございます。
そういうことでしたか。勘違いしてました。
ようやく理解できました。
692 = :
トラブルを起こさない書き方をする
これ常識ネ
693 = :
リーダブルコードを10回読め
694 = :
>>685
その認識レベルなら必ず括弧入れるべき。
面倒くさいのはわかるが括弧で区切りつけないと後々絶対同じような問題起こす。
695 = :
>>683はどこへ
696 = :
適当なエディタでインデントしなおせば分かりやすいかも。
たとえば、こうなった。
if ($a == 0)
if ($b == 0) print "a";
elseif ($a == 1)
if ($b == 0) print "b";
else
if ($b == 1) print "c";
697 = :
あー。。全角スペースでごまかしますorz
if ($a == 0)
if ($b == 0) print "a";
elseif ($a == 1)
if ($b == 0) print "b";
else
if ($b == 1) print "c";
699 = :
試したらtrueになってるけど。
そのコードどうなってんのよ。
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 129 (1001) - [98%] - 2013/9/18 1:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 124 (1001) - [98%] - 2013/1/10 6:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 121 (1001) - [98%] - 2012/8/14 7:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 137 (995) - [98%] - 2023/1/30 18:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 128 (1001) - [98%] - 2013/8/4 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 117 (1001) - [98%] - 2012/4/23 19:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 123 (1001) - [98%] - 2012/11/20 5:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 126 (1001) - [98%] - 2013/3/19 13:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 125 (1001) - [98%] - 2013/2/4 13:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 120 (1001) - [98%] - 2012/7/25 6:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 107 (1001) - [98%] - 2011/7/2 2:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 110 (1001) - [96%] - 2011/9/29 22:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 102 (1001) - [96%] - 2011/1/25 4:34
- 【PHP】下らねぇ質問はID出して書き込みやがれ 119 (1001) - [96%] - 2012/6/21 11:46
- 【PHP】下らねぇ質問はID出して書き込みやがれ 104 (1001) - [96%] - 2011/3/18 9:47
- 【PHP】下らねぇ質問はID出して書き込みやがれ 103 (1001) - [96%] - 2011/2/14 19:50
- 【PHP】下らねぇ質問はID出して書き込みやがれ 132 (1000) - [96%] - 2014/6/18 20:58
トップメニューへ / →のくす牧場書庫について