PHP総合雑談スレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/01/14(月) 21:35:11ID:???反省はしていない
0639nobodyさん
2009/04/13(月) 14:57:48ID:???0640nobodyさん
2009/04/13(月) 15:01:59ID:???0642nobodyさん
2009/04/13(月) 15:05:47ID:???0645nobodyさん
2009/04/13(月) 19:31:03ID:???助言ありがとうございます。レス遅れて失礼しました。
>>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:???rewriteするときに、同時に文字列を正規表現で正規化してPHPスクリプトに渡しています。
PHPのほうではGET変数の不正チェックを行わずに生で使っています。
(二重チェックするのはリソースがおしいので)
PHPでは不正チェックを行わない理由から、apache側のGET変数のチェックはきびしめにしたいからです。
0648nobodyさん
2009/04/13(月) 21:09:21ID:???0649nobodyさん
2009/04/13(月) 21:26:54ID:???無謀だという理由を簡単で構いませんので教えていただきたいです…。
無知で申し訳ないです。よろしくお願いします。
私の考えでは、副産物として値の不正チェックができるならば、という考えです。
これ自体が目的ではありませんので、デメリットが大きければ固執するのはやめようと思います。
そもそも自サイトからのリンクなので、「故意にURLを書き換えられる」という
特別なケースを考えているからフォームに入力を求めるような場合の
ゆとりある不正チェックは必要ないかなと考えています。
この考えから改めたほうがいいのでしようか…?
0650nobodyさん
2009/04/13(月) 23:25:22ID:???.NetのArryalListに似たコードはありますか?
0652nobodyさん
2009/04/14(火) 01:23:23ID:???乙
0654nobodyさん
2009/04/14(火) 23:05:33ID:???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:???ブラウザのユーザー入力URLではそうとは限らない(rewriteされる可能性があるから)
でも最終的にApacheのコアエンジンが解釈するURLではその通り。それだけ。
?キー1=値1&キー2=値2.... はたぶんRFCの規定かなんかで仕様扱い。
0664nobodyさん
2009/04/15(水) 16:13:41ID:???0665nobodyさん
2009/04/15(水) 22:17:44ID:???言語は受け取ってから動作するわけで、受け渡す値は
どう考えてもHTTP仕様やHTTPサーバ実装の話題だろう
0666nobodyさん
2009/04/16(木) 11:30:11ID:???ttp://www.ideaxidea.com/archives/2008/01/3classcompressorphp.html
0668nobodyさん
2009/04/17(金) 22:21:30ID:???ttp://aaaa.com/abc.php/gomen/suimasen/kanben/
みたいな感じで。
0669nobodyさん
2009/04/17(金) 23:03:48ID:???GETリクエストではあるかもしれないが、GET変数じゃないだろ、それ。
0670nobodyさん
2009/04/17(金) 23:22:19ID:???というか、そういう話ならそもそも
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:???0675nobodyさん
2009/04/20(月) 16:51:15ID:???0676nobodyさん
2009/04/20(月) 16:56:31ID:pbLy9Xug0677nobodyさん
2009/04/20(月) 22:55:11ID:???0678nobodyさん
2009/04/20(月) 23:06:09ID:???0679nobodyさん
2009/04/20(月) 23:41:19ID:???$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:???こねえよバカ
なんだとメガトロン
0683nobodyさん
2009/04/21(火) 01:22:35ID:???0684nobodyさん
2009/04/21(火) 01:24:33ID:???0685nobodyさん
2009/04/21(火) 01:51:52ID:???とりあえずはOracle大勝利か
0686nobodyさん
2009/04/21(火) 09:26:36ID:???軽く速度はかったら宣言するのも呼びだすのも時間かかってるようでした。
定数の宣言はどうするのがいいと思いますか?
0687nobodyさん
2009/04/21(火) 10:35:44ID:???0688nobodyさん
2009/04/21(火) 11:05:06ID:2lbDKRu3疎いからよくわかんないんだけど、これはMySQL終了のお知らせ?
0689nobodyさん
2009/04/21(火) 13:28:13ID:???0690nobodyさん
2009/04/21(火) 14:13:29ID:???0691nobodyさん
2009/04/21(火) 15:49:02ID:???0692nobodyさん
2009/04/21(火) 18:28:24ID:og7kptdRどんなロックしたいのかにもよるな。
コードにベタ書き完璧に固定するのか(定数でおk)
最初に定義したら変更できないようにしたいのか
何らかの条件下で固定したいのか
操作者に変更されたくないのか
共同開発者に変更されたくないのか
自身のバグによる誤操作を防ぎたいのか
0693nobodyさん
2009/04/21(火) 19:54:37ID:???0694nobodyさん
2009/04/21(火) 20:17:06ID:???0695nobodyさん
2009/04/21(火) 20:28:23ID:???0696nobodyさん
2009/04/21(火) 22:42:28ID:???DBMSにべったりなコードなんて書くほうがわるいな。
DB関係なんて適当な汎用ライブラリ使っておいて交換可能にしとくのが基本。
まあ俺はDBなんて概念そのものが胡散臭いって気付いてたけどね。
昔からのグラマーならファイル読み書きアルゴリズムなんか自作が基本だし。
0697nobodyさん
2009/04/21(火) 22:47:15ID:???一度代入したら再代入できない、という意味だと思う。Javaでいうfinal。
変える気の無い変数は、「これは変わらないよ」と宣言しておくわけ。
メリットは、コードの可読性が上がる事。最初の代入の箇所にだけ注意すれば中身を特定できるようになるからな。
あと、変えられたらマズい箇所が変えられなくなるので、安全になる、ってのもある。
で、結論は無理。
0698nobodyさん
2009/04/21(火) 22:50:03ID:???0699nobodyさん
2009/04/21(火) 22:53:06ID:???{
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:???0703nobodyさん
2009/04/21(火) 23:18:48ID:HHvQ3yZ0趣味のレベルなら、それもできるが、そこそこの規模の業務でやろうとすると、
DBに依存する部分は多くなる。特にパフォーマンスチューニングで。
まぁ、これだとMySQLで構築しているサイトはほとんど閉鎖に追い込まれるわ。
0705nobodyさん
2009/04/21(火) 23:35:04ID:???0706nobodyさん
2009/04/25(土) 23:15:03ID:qBHp4qP0変更履歴
バージョン 説明
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:???0710nobodyさん
2009/04/26(日) 04:27:11ID:???必ず車がどうとかリンゴがどうって話から入ってぽかーん
0711nobodyさん
2009/04/26(日) 04:32:34ID:???OODだと今でもそんなんでしょ。
一応、OOとしては本質的だとおもうよ。
OOPと言いつつフレームワークの使い方にしかなってない現状の方が、ちょっとおかしい。
0712nobodyさん
2009/04/26(日) 04:41:44ID:???0713nobodyさん
2009/04/26(日) 05:18:59ID:???0714nobodyさん
2009/04/26(日) 11:25:27ID:???とりあえずPofEAAでも嫁。
フレームワークのコードは
・DBのテーブルと1:1対応にあるTable Module
・M-V-C構造を実現するService Layer
のために存在する。class カローラ extends 乗用車 の話はDomain Objectに基づく設計で使う。
Domain Objectの話がされないのは、抽象化レイヤーが一枚増えるのでコード量が増えるから。
強力な概念だが、webアプリの大半はそこまでの強力さを必要としない。
それと、問題領域(ドメイン)によってクラス構成が全く変わってくるので、フレームワークとして使い回せるコードが無いし、一般論もない。
0715nobodyさん
2009/04/26(日) 12:19:39ID:???0716nobodyさん
2009/04/26(日) 12:22:52ID:???ポリモーフィズムの説明で社長が、部長課長を呼んで・・・とか言ってたやつは○んで良いよ。
0717nobodyさん
2009/04/26(日) 12:46:27ID:???メッセージのやり取りによる協調システムって雰囲気が出ないから
>>716
あと「これはポリモー(ryの説明だけどjavaには型の制約があって面倒なだけなんだからね!」って書いとくべきw
0718nobodyさん
2009/04/26(日) 19:24:39ID:???だが本質論では一行たりともコードは書けん・・・
コードが書けんと新人くんが使えるようにならん・・・
だからStrutsの本を2冊ほど与えて放置するお!
お前らの現場は大丈夫ですか?
0719nobodyさん
2009/04/26(日) 19:28:34ID:???0720nobodyさん
2009/04/26(日) 19:35:10ID:???ってかOOはモノの見方であって、技術とかじゃないし。
0721nobodyさん
2009/04/26(日) 19:37:03ID:???0722nobodyさん
2009/04/27(月) 08:16:54ID:???しかしそれはかなりマクロな話であって、例えばある言語でプリミティブな型がオブジェクトであったり制御構造がメソッドであるようなこととは断絶がある
ミクロにはOOとはコードパターンでありクラスリテラルであり、何よりselfだ
java以降OOが急激にややこしくなったのは、すべてマクロモデルからコードが導けると誤解したり、上で言われたドメインをごっちゃにしたり、自分が理解した一部だけを狂信する俄仕込みの人間が増えたせいもあるだろう
PHPでOOをやろうと思う人間と、RubyでOOをやろうという人間がいたら、言語の思想を反映して、両者の思い描くOOはかなり異なっているかもしれない
PHPのOOを学ぼうと思う場合、あまりOOの歴史などには触れずSPLなど見ながら実践的な知識を得ればそれでいいと思う
0723nobodyさん
2009/04/29(水) 13:20:45ID:???0724nobodyさん
2009/04/29(水) 13:24:53ID:???0725nobodyさん
2009/04/29(水) 14:39:12ID:???0726nobodyさん
2009/04/29(水) 15:59:40ID:???0727nobodyさん
2009/04/29(水) 16:02:37ID:???0728nobodyさん
2009/04/29(水) 20:48:44ID:???0730nobodyさん
2009/04/29(水) 21:43:00ID:???既に稼働中のWebサイトではやりにくいし。
0731nobodyさん
2009/04/29(水) 21:43:50ID:???0732nobodyさん
2009/04/29(水) 22:02:15ID:???0733nobodyさん
2009/04/29(水) 22:08:52ID:???0734nobodyさん
2009/04/29(水) 22:18:17ID:???0735nobodyさん
2009/04/30(木) 03:58:41ID:???0736nobodyさん
2009/04/30(木) 08:21:54ID:???■ このスレッドは過去ログ倉庫に格納されています