トップページphp
982コメント234KB

PHP総合雑談スレ

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/01/14(月) 21:35:11ID:???
PHP全体の雑談のようなスレがなかったからたてた
反省はしていない
0612nobodyさん2009/03/22(日) 06:01:07ID:???
>>611
http://pc11.2ch.net/test/read.cgi/php/1236532468/
0613nobodyさん2009/03/22(日) 06:56:40ID:???
>>612
(´・ω・`) 仕方ないね、うん、仕方ない
0614nobodyさん2009/03/22(日) 07:33:40ID:???
何がだ?
0615nobodyさん2009/03/30(月) 11:21:59ID:J/K5uWTc
test
06161222009/03/31(火) 02:30:38ID:???
性器表現ができないんですが
どうしたらいいですか
最大マンコでお願いします
0617nobodyさん2009/03/31(火) 11:26:13ID:???
>>616
dankogaiに聞けw
0618nobodyさん2009/04/05(日) 23:54:11ID:2BVYNxPl
PHP5とPHP4の変数の参照渡しの違い
http://ameblo.jp/itboy/entry-10228129728.html
0619nobodyさん2009/04/07(火) 02:42:52ID:???
突然フィールド変数がnullになるんでパニくってたら、private変数をサブクラスから参照しようとしてた。orz

アクセス違反ぐらい出してくれてもいいのに...。
まぁスーパークラスの内部構造変えただけで、サブクラスが正常に動作しなくなるのもマズいんだろうが。
0620nobodyさん2009/04/09(木) 00:14:34ID:???
private変数は変数名の頭や最後にアンダーバーとかをくっつける、という手もある。
private→protectedに変更する際の作業量が多くて面倒くさいが(置換使えば一発だけど)。
06211302009/04/09(木) 05:32:23ID:sBmn/pA0
グーグルランク取得したいです。PHPで
でも、その方法が調べてもわからないんです
PHP暦は一年でそこそこです
06221302009/04/09(木) 06:01:34ID:???
見つかったのでもういいです
ほんと、役に立たない人達。いつも俺は、あんたら初心者のために
泥の中をはいつくばるように質問に答えて、その上暴言を吐かれ
それでも答え続けてるのに、情けない奴らだよほんと
この程度も即レスできないようじゃ
また、この時間に寝ているとの意見もあるだろうが
そのような言い訳も聞く気もありません
本当に幻滅しました。能力の無い糞
0623nobodyさん2009/04/09(木) 09:21:00ID:???
お前は何を言っているんだ
0624nobodyさん2009/04/09(木) 10:14:16ID:???
春だからな
薬が効きすぎたのだろう
0625nobodyさん2009/04/09(木) 12:56:30ID:???
まあ、せっかく質問したのに自己解決のほうが早かった時って住民に対してイラっとくるものではあるからな。
0626nobodyさん2009/04/09(木) 13:37:09ID:???
木の芽時ってこわいなぁ
0627nobodyさん2009/04/09(木) 14:00:36ID:???
ちなみに>>621はマルチだった
0628nobodyさん2009/04/09(木) 18:42:28ID:???
>>622も以前はこんな無茶苦茶な印象批判する人じゃなかったんだけどな
0629nobodyさん2009/04/09(木) 22:03:02ID:???
あの日だからな
0630nobodyさん2009/04/11(土) 18:27:09ID:???
ホント、ごめんな!
俺がもうちょっと早起きしてたら・・・・
明日から4時起きにするから許してくれ。
0631nobodyさん2009/04/13(月) 12:46:42ID:???
PHPでウェブプログラミングしています。
GET変数について詳しいかたがいらっしゃったらお聞きしたいことがあるのですが…。

GET変数は、「変数がURLに埋め込んで渡される変数」という理解で間違いないでしようか?
必ず「…?…」の形で渡されるという考えでよろしいのでしょうか。
それとも、なにか特殊なURL記述方法でGET変数を渡せたりしますか?

よろしくお願いします。
0632nobodyさん2009/04/13(月) 12:49:28ID:???
<form action="" method="get"> ←当然これでも$_GET['hoge']で取得できるよ
<input type="text" name="hoge">
<input type="submit">
</form>
0633nobodyさん2009/04/13(月) 13:04:15ID:???
>>631
URLに埋め込んで渡すでおk
0634nobodyさん2009/04/13(月) 13:18:42ID:???
アドバイスありがとうございます。

さらに言うと、
「GET値を渡される場合のURLには必ず ? という文字が含まれる」
という認識で間違いありませんか?
0635nobodyさん2009/04/13(月) 13:45:36ID:???
何をしたいの?
0636nobodyさん2009/04/13(月) 14:32:47ID:???
>>634
全部ゲット
http//aaa.jp/?test($_SERVER['QUERY_STRING']で取得)
http//aaa.jp/?test&a=a
http//aaa.jp/?a=a($_GETで取得
http//aaa.jp/?a=a&b=b
0637nobodyさん2009/04/13(月) 14:40:26ID:???
>>636
アブダクションに推論すると,GETの場合はURLに必ずhttpという文字が含まれる,ということだな
0638nobodyさん2009/04/13(月) 14:42:21ID:???
>>637
ちがいますね
<a href="?test">test</a>
0639nobodyさん2009/04/13(月) 14:57:48ID:???
それにアクセスするとブラウザのURL欄が?testになるのかい?
0640nobodyさん2009/04/13(月) 15:01:59ID:???
おまえは何を言ってるんだ
0641nobodyさん2009/04/13(月) 15:03:00ID:???
>>631=>>634=>>637=>>639
基本がわかってなさ杉
web制作板行って濃い
0642nobodyさん2009/04/13(月) 15:05:47ID:???
=じゃねぇよ読解力無い奴だな
0643nobodyさん2009/04/13(月) 15:48:18ID:???
>>631=>>634=>>637=>>639=>>642
0644nobodyさん2009/04/13(月) 16:21:44ID:???
>>641
言いたいことは解るが=関係は違うと思うぞ
別にどうでもいいが
0645nobodyさん2009/04/13(月) 19:31:03ID:???
>>631=>>634=>>645 です。
助言ありがとうございます。レス遅れて失礼しました。

>>635
PHPとは少し離れますが、mod_rewrite で動的ページを静的ページに見せかけようとしています。
ttp://url/aaa/bbb → ttp://url/aaa.php?page=bbb
このとき、当てずっぽうでGET変数を当てられて(なかなか無いとは思いますが)、
直接ttp://url/aaa.php?page=bbbへのアクセスははじくように設定しています。
このときの判定材料を、%{THE_REQUEST} に?が含まれているかどうか、
という条件式にしているのですが、これで隙がないか調べているところでした。
0646nobodyさん2009/04/13(月) 19:56:06ID:???
なんではじくの?
あとrewrite後のページでGET使いたいとき面倒じゃない?
0647nobodyさん2009/04/13(月) 21:00:29ID:???
>>646
rewriteするときに、同時に文字列を正規表現で正規化してPHPスクリプトに渡しています。
PHPのほうではGET変数の不正チェックを行わずに生で使っています。
(二重チェックするのはリソースがおしいので)

PHPでは不正チェックを行わない理由から、apache側のGET変数のチェックはきびしめにしたいからです。
0648nobodyさん2009/04/13(月) 21:09:21ID:???
mod_rewriteで入力値の妥当性検証するのは無謀だと思うぞ・・・
0649nobodyさん2009/04/13(月) 21:26:54ID:???
>>648
無謀だという理由を簡単で構いませんので教えていただきたいです…。
無知で申し訳ないです。よろしくお願いします。

私の考えでは、副産物として値の不正チェックができるならば、という考えです。
これ自体が目的ではありませんので、デメリットが大きければ固執するのはやめようと思います。
そもそも自サイトからのリンクなので、「故意にURLを書き換えられる」という
特別なケースを考えているからフォームに入力を求めるような場合の
ゆとりある不正チェックは必要ないかなと考えています。

この考えから改めたほうがいいのでしようか…?
0650nobodyさん2009/04/13(月) 23:25:22ID:???
DBから取得した値を可変の配列に格納しようと思ってるのですが、
.NetのArryalListに似たコードはありますか?
0651nobodyさん2009/04/14(火) 01:22:41ID:???
>>650
なんかすごい名前のクラスだけど
.NetのArrayListってどんなの?
0652nobodyさん2009/04/14(火) 01:23:23ID:???
と思ったけどマルチですか
0653nobodyさん2009/04/14(火) 20:58:24ID:???
>>648はさっさと答えてやれよ
0654nobodyさん2009/04/14(火) 23:05:33ID:???
リファラではじけよ、そんな当てずっぽうURL。
0655nobodyさん2009/04/14(火) 23:14:22ID:???
りふぁら(笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
0656nobodyさん2009/04/14(火) 23:38:07ID:???

URL直叩きを防ぎたいだけなんだからリファラで十分だろ?

>>650
phpのarrayはもともと可変だろ。引数に文字を入れられるからArrayListにもDictionaryにもなる。
0657nobodyさん2009/04/14(火) 23:44:39ID:???
リハラーは偽装可能だから無意味だろ
0658nobodyさん2009/04/15(水) 01:26:03ID:???
意味がないことに時間を費やすより、有意義なことにつかったほうがいいという意見もあるといえばある
しかし相変わらずPHPとはあまり関係ない話題だわなw
0659nobodyさん2009/04/15(水) 08:45:59ID:???
リファラは常にブロックしてる輩がいるから、その方法はありえないな。
0660nobodyさん2009/04/15(水) 12:58:58ID:???
結局のところ

> さらに言うと、
> 「GET値を渡される場合のURLには必ず ? という文字が含まれる」
> という認識で間違いありませんか?

これに解答できれば解決ってことだろ。
俺も気になるから誰か明快な解答を頼む
0661nobodyさん2009/04/15(水) 13:03:48ID:???
本人乙
0662nobodyさん2009/04/15(水) 13:05:17ID:???
>>660
ブラウザのユーザー入力URLではそうとは限らない(rewriteされる可能性があるから)
でも最終的にApacheのコアエンジンが解釈するURLではその通り。それだけ。
?キー1=値1&キー2=値2.... はたぶんRFCの規定かなんかで仕様扱い。
0663nobodyさん2009/04/15(水) 13:11:49ID:???
>>660
本人お疲れ〜
0664nobodyさん2009/04/15(水) 16:13:41ID:???
十分かどうかは分からないけど、ある程度の効果はある。よほどみたいページじゃなければ、わざわざ偽装してまでアクセスしようと思わないから。
0665nobodyさん2009/04/15(水) 22:17:44ID:???
無駄な努力をがんばりたいのは勝ってだが、それはPHPの雑談ではなかろうとおもった
言語は受け取ってから動作するわけで、受け渡す値は
どう考えてもHTTP仕様やHTTPサーバ実装の話題だろう
0666nobodyさん2009/04/16(木) 11:30:11ID:???
これで読み込みが速くなるとか言うけど変わらないんだけど・・・
ttp://www.ideaxidea.com/archives/2008/01/3classcompressorphp.html
0667nobodyさん2009/04/16(木) 23:00:39ID:???
>>>666
既にサーバー側で、レスポンスを圧縮して転送してるんじゃない?
0668nobodyさん2009/04/17(金) 22:21:30ID:???
げとでも?が付かない場合もあるでしょ。
ttp://aaaa.com/abc.php/gomen/suimasen/kanben/
みたいな感じで。
0669nobodyさん2009/04/17(金) 23:03:48ID:???
>668
GETリクエストではあるかもしれないが、GET変数じゃないだろ、それ。
0670nobodyさん2009/04/17(金) 23:22:19ID:???
GETリクエストでPATH_INFOとってるだけだな。
というか、そういう話ならそもそも
GETリクエストはデータ送信が主目的じゃないから
大抵のサイトのGETリクエストには?なんかついてないわ
0671nobodyさん2009/04/20(月) 08:07:56ID:???
知恵をお借りしたいです。

$str = '"aaa", 0, 2';
substr($str);

↑これを、
substr('"aaa", 0, 2');
ではなく
substr("aaa", 0, 2);
として認識させる方法はないのでしょうか?
型変換とか色々考えてみたけど思い付きませんでした。
0672nobodyさん2009/04/20(月) 08:55:32ID:???
eval
0673nobodyさん2009/04/20(月) 16:33:38ID:???
>>672
知りませんでした。ありがとうございます。
0674nobodyさん2009/04/20(月) 16:46:13ID:???
>>671-672
いただき
0675nobodyさん2009/04/20(月) 16:51:15ID:???
おいおいw
0676nobodyさん2009/04/20(月) 16:56:31ID:pbLy9Xug
えばるな。
0677nobodyさん2009/04/20(月) 22:55:11ID:???
そしてまた脆弱性のあるコードが生まれるのであった・・・
0678nobodyさん2009/04/20(月) 23:06:09ID:???
き、脆弱性(笑
0679nobodyさん2009/04/20(月) 23:41:19ID:???
なんでなんでもすぐevalで解決しようとするにゃん(´・ω・`)?

$str = '"abcde", 0, 2';

$arr = split(',', str_replace('"', '', $str));
substr($arr[0], $arr[1], $arr[2]);

さくっと分けてしまえばいいやん

むしろ
$str = "abcde";
$arg1 = 0;
$arg2 = 2;
substr($str, $arg1, $arg2);
最初から分けておくべきじゃね
0680nobodyさん2009/04/21(火) 00:31:48ID:???
ちょっと始めたらあれもこれもやりたくなってきりが無い
画像認証と確認メールで再認証てどっちがいいの?
0681nobodyさん2009/04/21(火) 00:55:01ID:HHvQ3yZ0
ここだった。

終わった・・・
今まで、MySQL(サンの傘下)で開発していたシステムが全て水の泡だ・・・

【速報】オラクルがサンを買収
http://headlines.yahoo.co.jp/hl?a=20090420-00000004-zdn_ait-sci
0682nobodyさん2009/04/21(火) 01:02:02ID:???
非リレーショナルDBMSの時代クルー!
こねえよバカ
なんだとメガトロン
0683nobodyさん2009/04/21(火) 01:22:35ID:???
ポスグレ時代到来
0684nobodyさん2009/04/21(火) 01:24:33ID:???
少し前にMysqlの開発者がSunからエクソダスってたけど、やっぱ知ってたんだろうな
0685nobodyさん2009/04/21(火) 01:51:52ID:???
ようやく話をまとめたのかって感じだな
とりあえずはOracle大勝利か
0686nobodyさん2009/04/21(火) 09:26:36ID:???
今まで定数の宣言に何も疑わず define を使ってたんですが、
軽く速度はかったら宣言するのも呼びだすのも時間かかってるようでした。

定数の宣言はどうするのがいいと思いますか?
0687nobodyさん2009/04/21(火) 10:35:44ID:???
コンパイル言語じゃない限り定数で速くなることはないと思っていいかと
0688nobodyさん2009/04/21(火) 11:05:06ID:2lbDKRu3
>>681
疎いからよくわかんないんだけど、これはMySQL終了のお知らせ?
0689nobodyさん2009/04/21(火) 13:28:13ID:???
まさか・・・Mysqlの資格試験もチケット制になり、お金をむしり取られるのですか?
0690nobodyさん2009/04/21(火) 14:13:29ID:???
PHPって変数を読み取り専用にロックって出来ないよな。
0691nobodyさん2009/04/21(火) 15:49:02ID:???
変更できない変数ってそりゃ定数じゃん
0692nobodyさん2009/04/21(火) 18:28:24ID:og7kptdR
>>690
どんなロックしたいのかにもよるな。

コードにベタ書き完璧に固定するのか(定数でおk)
最初に定義したら変更できないようにしたいのか
何らかの条件下で固定したいのか

操作者に変更されたくないのか
共同開発者に変更されたくないのか
自身のバグによる誤操作を防ぎたいのか
0693nobodyさん2009/04/21(火) 19:54:37ID:???
flock($hensuu,LOCK_EX)でできない?
0694nobodyさん2009/04/21(火) 20:17:06ID:???
なんと
0695nobodyさん2009/04/21(火) 20:28:23ID:???
天才現る
0696nobodyさん2009/04/21(火) 22:42:28ID:???
>>681
DBMSにべったりなコードなんて書くほうがわるいな。
DB関係なんて適当な汎用ライブラリ使っておいて交換可能にしとくのが基本。

まあ俺はDBなんて概念そのものが胡散臭いって気付いてたけどね。
昔からのグラマーならファイル読み書きアルゴリズムなんか自作が基本だし。
0697nobodyさん2009/04/21(火) 22:47:15ID:???
>691
一度代入したら再代入できない、という意味だと思う。Javaでいうfinal。
変える気の無い変数は、「これは変わらないよ」と宣言しておくわけ。
メリットは、コードの可読性が上がる事。最初の代入の箇所にだけ注意すれば中身を特定できるようになるからな。
あと、変えられたらマズい箇所が変えられなくなるので、安全になる、ってのもある。

で、結論は無理。
0698nobodyさん2009/04/21(火) 22:50:03ID:???
もう定数でいいじゃまいか
0699nobodyさん2009/04/21(火) 22:53:06ID:???
class hoge()
{
private $var;

public function __construct($var)
{
$this->var = $var;
}

public function getVar()
{
return $this->var;
}
}

こんなんで代用かのう。
0700nobodyさん2009/04/21(火) 22:59:33ID:???
クラスにするならマジックメソッドで全部フックして
書き換えられたらエラー吐くようにすればいいと覆う
0701nobodyさん2009/04/21(火) 23:00:36ID:???
あと宣言はデメリットもあるので途中で
0702nobodyさん2009/04/21(火) 23:02:28ID:???
途中で書き込んでしまった、、好きなときにFreezeできると汎用性が高いじゃないかな
0703nobodyさん2009/04/21(火) 23:18:48ID:HHvQ3yZ0
>>696
趣味のレベルなら、それもできるが、そこそこの規模の業務でやろうとすると、
DBに依存する部分は多くなる。特にパフォーマンスチューニングで。
まぁ、これだとMySQLで構築しているサイトはほとんど閉鎖に追い込まれるわ。
0704nobodyさん2009/04/21(火) 23:32:55ID:???
>>699
なんてSPL?w
0705nobodyさん2009/04/21(火) 23:35:04ID:???
オラのミドルウェアもどうなるかわからんな
0706nobodyさん2009/04/25(土) 23:15:03ID:qBHp4qP0
is_a()
変更履歴

バージョン 説明
5.3.0 この関数は非推奨ではなくなりました。そのため E_STRICT も発生しなくなりました。
5.0.0 この関数は非推奨となり、かわりに instanceof 演算子の使用が推奨されるようになりました。この関数をコールすると E_STRICT が発生します。

なにこれwww
0707nobodyさん2009/04/25(土) 23:20:29ID:???
そんな関数どういう時に使うんだ?
0708nobodyさん2009/04/25(土) 23:25:45ID:???
こんな時
http://www.youtube.com/watch?v=5jbtqlvxwZs
0709nobodyさん2009/04/26(日) 04:23:42ID:???
そういや、最近 is-a関係って言葉聞かなくなったな。
0710nobodyさん2009/04/26(日) 04:27:11ID:???
Javaが喧伝され始めたころのOOPの説明ってどうかしてたよな
必ず車がどうとかリンゴがどうって話から入ってぽかーん
0711nobodyさん2009/04/26(日) 04:32:34ID:???
>>710
OODだと今でもそんなんでしょ。
一応、OOとしては本質的だとおもうよ。

OOPと言いつつフレームワークの使い方にしかなってない現状の方が、ちょっとおかしい。
■ このスレッドは過去ログ倉庫に格納されています