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

PHP総合雑談スレ

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/01/14(月) 21:35:11ID:???
PHP全体の雑談のようなスレがなかったからたてた
反省はしていない
0773nobodyさん2009/05/13(水) 12:29:07ID:qwl32xg0
>>772
どうやって?
0774nobodyさん2009/05/13(水) 12:32:29ID:???
>>771
マジレスするとDBに画像を入れるとかバカですか?
0775nobodyさん2009/05/13(水) 13:09:48ID:???
>>774
社内のファイルサーバをDBでやってるオラクルの悪口はそこまでにしておけ。
0776nobodyさん2009/05/13(水) 13:15:57ID:???
>>773
このあたりでも参考にしたら。
http://jp.php.net/manual/ja/function.header.php#70328
0777nobodyさん2009/05/13(水) 16:30:34ID:???
ところでいまさらながらPHPにgoto文が追加されることについてどう思うよ
0778nobodyさん2009/05/13(水) 20:32:14ID:???
そんなGOTOより
\とarray()が何とかなってくれれることを願いたい
0779nobodyさん2009/05/13(水) 21:19:02ID:???
俺は欲しい機能は、ブロックスコープかなあ。無理だろうなあ。
0780nobodyさん2009/05/13(水) 21:24:00ID:???
それより finally だろ。
0781nobodyさん2009/05/13(水) 21:29:49ID:???
わたしゃも少し背が欲しい
0782nobodyさん2009/05/13(水) 21:37:48ID:???
>>781
チビ乙
0783nobodyさん2009/05/14(木) 12:37:22ID:???
女房のへそくり見てみたい
0784nobodyさん2009/05/15(金) 10:20:40ID:???
CodeIgniterでDBドライバにPosql使いたい。
0785nobodyさん2009/05/18(月) 12:41:57ID:???
break 3;とかで任意のループに抜けるような動作するぐらいならgotoループさせたほうが
まだきれいだと思うのです。
場合によるけど
0786nobodyさん2009/05/18(月) 16:25:43ID:???
StopIterationExceptionとか適当な例外をつくって、それをスロー&キャッチでおk
0787nobodyさん2009/05/18(月) 17:41:24ID:???
例外じゃなくてそれはアルゴリズムだろ
0788nobodyさん2009/05/18(月) 22:00:24ID:???
ループ抜けるためだけに例外を使うくらいならGOTO使った方が万倍マシだろ
>786みたいな濫用をする奴がいるから例外は嫌われるんだ
0789名無し募集中。。。2009/05/18(月) 22:09:09ID:wP2DRNT9
例外のキャッチは処理が遅いから(PHPは知らんけどJavaやC#はそう)
普通にbreakで抜けた方がいいよ
0790nobodyさん2009/05/18(月) 22:51:36ID:???
>PHPは知らんけど
0791名無し募集中。。。2009/05/18(月) 23:03:24ID:wP2DRNT9
PHPでそういう書き方に慣れると他の言語でも同じ書き方しようとするだろ
だからやめろって言ってるわけで
PHPでは大丈夫だからこの書き方がいいねって事には絶対ならん
0792nobodyさん2009/05/19(火) 00:45:26ID:???
そんな多重多重なループにならないよう設計すればいいんじゃないの
0793nobodyさん2009/05/19(火) 13:24:11ID:???
多重ループに再帰もつかえないこんな世の中じゃ
0794nobodyさん2009/05/19(火) 21:15:35ID:???
プリズン♪
0795nobodyさん2009/05/23(土) 11:38:09ID:5mrj8rHu
最近PHPを使ってると、つい連想配列を使いまくってしまうんだけど、
これって他の人から見たらどうなのかな?
$hoge_list[$i][$username][$year][$month][$day] = array('hoge1'=>$hoge1,'hoge2'=>$hoge2,'hoge3'=>$hoge3);
みたいなPHP以外の言語ではさすがにないよなぁって書き方してる事が増えてきてるので、
どんな風に感じるのかおしえてください
0796nobodyさん2009/05/23(土) 11:53:19ID:???
$yearと$monthと$dayを分ける意味はよくわからないけど普通じゃね?
0797nobodyさん2009/05/23(土) 12:17:27ID:???
俺も連想配列はよく使うけど、そこまでの多重ではない。
$hoge_list[][]が多く、まれに$hoge_list[][][]ぐらい。
0798nobodyさん2009/05/23(土) 13:53:06ID:4jvZ/Q8K
変数宣言せずにいきなり多次元の配列に代入とかな
0799nobodyさん2009/05/23(土) 14:01:33ID:???
Notice切ってる奴はもれなくカス
0800nobodyさん2009/05/23(土) 14:35:17ID:???
>795
どう感じるかといえば、うちの会社にいなくて良かったなぁ、と感じるな。

つうか、なんでそんな多重配列?
そんなデータ構造が必要になるシチュエーションを思いつかないんだが。
0801nobodyさん2009/05/23(土) 14:40:52ID:???
普通に使う分にはやっぱ2重が多いな。3重がたまに。
設定項目とか、複数のカラムがあってキーに関連するデータを
取り出したいような場合はそれ用の汎用的なクラス作って管理してる。
0802nobodyさん2009/05/23(土) 15:00:55ID:???
PHP自体が富豪プログラミングの集大成みたいなもんだからな
入るんだから入れちゃえばいいんじゃね?みたいになっちゃう
CとかJavaで仮に同事ができるとしても、
それやったら目に見えてメモリバカ食いするのが解って怒られちゃうけど
PHPだと間違って動いちゃうのでなんともしがたい
0803nobodyさん2009/05/23(土) 15:13:39ID:???
間違って?
0804nobodyさん2009/05/23(土) 15:21:45ID:???
最近だと
calender[month][week][day]
なんてのを作って
smartyに丸ごと渡して、表示してた

この先の処理で使わない変数をunsetする事もあるけど
CやJavaと違って意味薄いしなあ
0805nobodyさん2009/05/23(土) 15:59:09ID:???
よく[month]みたいに書く奴いるけど
['month']だろ
monthが定数だったらどうすんだよ
0806nobodyさん2009/05/23(土) 16:03:52ID:???
定数は普通大文字で書くだろ
0807nobodyさん2009/05/23(土) 16:15:29ID:???
お前は何を言ってるんだ
0808nobodyさん2009/05/23(土) 16:16:13ID:???
大文字でしか定数が設定できないから問題ないってのなら解るが
それは大文字で設定するのが普通というのとは大きく意味が異なると思うぞ
途中でdefine('month',1)なんて追加されたら恐ろしいことになる
0809nobodyさん2009/05/23(土) 16:17:09ID:???
だからあれほどE_NOTICEを無効にするなと言ってるだろうに
何度も言うがNotice切ってる奴はもれなくカス
0810nobodyさん2009/05/23(土) 16:17:59ID:???
[month]って書いたってエラー出ないだろ?
エラーじゃないんだから何の問題もないのに
自分が勝手に決めた規約を押しつけるのは良くない
0811nobodyさん2009/05/23(土) 16:19:34ID:???
残念ながらつい50秒前に論破されてますよ
0812nobodyさん2009/05/23(土) 17:11:50ID:???
>>809
pear使うとエラーが出まくるんだよ
0813nobodyさん2009/05/23(土) 17:25:19ID:???
え?いまなんて?
0814nobodyさん2009/05/23(土) 17:33:03ID:???
もうちょっと大きな声でたのむ!
0815nobodyさん2009/05/23(土) 19:14:03ID:???
>[month]って書いたってエラー出ないだろ?
>[month]って書いたってエラー出ないだろ?
>[month]って書いたってエラー出ないだろ?
>[month]って書いたってエラー出ないだろ?
>[month]って書いたってエラー出ないだろ?
0816nobodyさん2009/05/23(土) 20:42:11ID:???
noticeは確かにエラーではないけどwww
0817nobodyさん2009/05/23(土) 21:53:55ID:???
if($a=0) {

みたいな間違い方だよな。
0818nobodyさん2009/05/23(土) 22:22:40ID:???
pearは使い物にならない
0819nobodyさん2009/05/24(日) 22:14:27ID:???
5.3まだー?
0820nobodyさん2009/05/30(土) 23:54:03ID:???
scandirで..と.が入るのが不便
0821nobodyさん2009/05/31(日) 01:25:45ID:???
つglob
0822nobodyさん2009/05/31(日) 14:07:17ID:???
ファイルのロックって難しいです。
LOCK_EX で排他ロック中のファイルはreadfile関数で読み込めるんでしょうか・・・?
0823nobodyさん2009/05/31(日) 23:02:41ID:???
試してみればいいじゃん
アドバイザリロックでぐぐれば想像付くと思うけどさ
0824nobodyさん2009/05/31(日) 23:07:18ID:???
なんでもかんでも

「試してみればいいじゃん」

しかいえないやつは火炎放射器で消毒すべき。
0825nobodyさん2009/05/31(日) 23:14:19ID:???
readfile()は読み込み不可ならすぐfalse返すんだったと思うが違うのか?
モダンな処理系じゃないならしーらない。
0826nobodyさん2009/05/31(日) 23:16:39ID:???
>>824
  /\___/\
/ ⌒   ⌒ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < 消毒、試してみればいいじゃん
|   ト‐=‐ァ'   .::::|    \_____
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\
0827nobodyさん2009/05/31(日) 23:25:25ID:???
結局読めたり読めなかったりするってことか
0828nobodyさん2009/06/01(月) 02:05:26ID:???
しょういうこと
0829nobodyさん2009/06/01(月) 10:12:12ID:???
実験したらロック中でも読めるみたいなんだけど、
どういう条件で読めなくなるの?
0830nobodyさん2009/06/01(月) 10:14:34ID:???
それはロックできてない
0831nobodyさん2009/06/01(月) 12:17:59ID:???
ロックの魂を理解していない
0832nobodyさん2009/06/01(月) 13:12:53ID:???
http://ascii.jp/elem/000/000/050/50590/img.html
0833nobodyさん2009/06/01(月) 14:23:28ID:???
試してみたらwinだとロック中に読めないな。腐ってやがる
0834nobodyさん2009/06/01(月) 17:27:23ID:???
is_null と $hoge === null って
どちらが速い或いはメモリ消費量が少なかったりするのかね?
0835nobodyさん2009/06/01(月) 17:42:05ID:???
is_null()だと関数呼び出しのオーバーヘッドありそうだけどどうだろ
0836nobodyさん2009/06/01(月) 18:01:56ID:???
っていうか is_null ってどのみち $hoge === null 返すだけでしょ?
可読性が多少良いくらいで関数のオーバーヘッディングがワンステップ確実に増えるでしょ。
0837nobodyさん2009/06/01(月) 18:27:53ID:???
じゃis_nulは何のためにあんの?
0838nobodyさん2009/06/01(月) 19:04:18ID:???
自分のコーディングを信用できず、標準関数だと安心できる人のため。
0839nobodyさん2009/06/01(月) 22:01:49ID:???
===を理解してない人にもわかるようにじゃねw

コンパイラ通すような言語だとこういうのはどっちで書いてもコンパイル時の最適化で
実行ファイルでは全く同じ処理するように置き換えられたりしそうだけど
PHPだと無理なんだっけ?中間コードみたいな
0840nobodyさん2009/06/02(火) 01:08:20ID:???
>>836
is_nullは組み込み関数故、C言語のコンパイラ/リンカレベルで最適化されているはず。

そのため、$hoge === nullを比較するopコードと、組み込み関数を呼び出すopコードの違いと考えると、そこまで大きな差は生まれないような気がする。

実際PHPのソース拝んだ訳じゃないから、適当な思いつきだけど

>>839
Zend optimizerとかeAcceleratorのoptimizerオプションをonにすれば、少しは最適化されるかもね。
あとは、大幅に改善されると噂されるPHP 6(Zend Engine 3)に乞うご期待ってところ?
0841nobodyさん2009/06/02(火) 02:11:45ID:???
なるほどねー
まぁそのあたりの差が顕著になるようなものをPHPで作ること自体ありえない気もするけどなw
0842nobodyさん2009/06/02(火) 02:24:41ID:???
マニュアルのユーザノートにベンチあったぞ
実装意図はis_*軍団のインテグリティのためだろう
型判定のシリーズがあるから

まあよりカオスになっとる気もするけどな
0843nobodyさん2009/06/02(火) 15:09:20ID:???
確かに、いっそのことis系は最低限必要な物以外は全部なくなった方が迷わなくて済むな。
0844nobodyさん2009/06/02(火) 22:44:13ID:???
組み込み関数でも演算子に比べればオーバーヘッドがあるだろ。
0845nobodyさん2009/06/03(水) 03:01:02ID:???
どうせやること同じなんだし、どっち使うかなーとか考えなくてすむしなw
0846nobodyさん2009/06/04(木) 10:04:26ID:???
>>784
CIにのせたわけじゃないけど
Posqlってメソッドが充実してるし使えると思うぞ。
小規模なものならな。
PHP構文が使えるのは楽だ
0847nobodyさん2009/06/06(土) 03:19:48ID:???
へー
世の中いろいろな変わり種があるもんだな
0848nobodyさん2009/06/08(月) 14:19:55ID:???
>>839
高級言語とレTゎ抽象化も重要だょね
論理的レこ同等でょリ高速ナょ機能を求ぬナこら才一ノレぁセンブラに行き着ぃTしまぅょ
0849nobodyさん2009/06/08(月) 22:31:11ID:???
文字化けしてるのかと思ったがな。
0850nobodyさん2009/06/09(火) 00:50:39ID:???
848の書き込みは、これはこれで正解なのかな。
0851nobodyさん2009/06/09(火) 23:30:19ID:???
すでに懐かしさを感じる・・・
0852nobodyさん2009/06/10(水) 13:47:13ID:???
抽象化された日本語
0853nobodyさん2009/06/12(金) 05:05:33ID:???
(´・ω・`)PHPプロ!見ながら勉強始めたお。
0854nobodyさん2009/06/14(日) 14:28:25ID:???
お仕事でC#つかってVS.NETとかのIDEの便利さがわかってきたから(糞重いけど)
PHPでもIDE導入しようかと検討中
トータルでかかるコスト考えたら一時的な重さにイライラするほうが効率よさそう

とりあえずPHPEclipseあたりかなぁ
0855nobodyさん2009/06/14(日) 15:23:49ID:???
PHPEditor で十分。
0856nobodyさん2009/06/14(日) 18:28:18ID:???
PHPEclipseって、クラスメソッドの自動補完利く?
Eclipse+PDTからNetBeansに乗り換えた時はコレが効かなくてがっかりした。
0857nobodyさん2009/06/14(日) 20:02:29ID:???
今から調べてみるつもりだけど
ttp://techblog.ecstudio.jp/tech-tips/tech-tips/re-phpeclipse.html
一年前の生地だけど、ここみて選ぶならPHPEclipseのがいいのかなーと思った

PHPEditorはさすがにちょっと…^^;
0858nobodyさん2009/06/14(日) 21:30:09ID:???
Eclipseは重すぎなんだよね
もう少しレスポンス良くしてくれないと気持ちよく組めない
0859nobodyさん2009/06/14(日) 23:36:01ID:???
>>857
その記事Eclipseスレでも論破されてたけど
出現箇所の表示とかPDTでも昔からできるぞ
そいつが設定方法知らないだけじゃないかって話
0860nobodyさん2009/06/14(日) 23:55:03ID:???
IDEはどれも重いけどJavaVM使うやつはなんかこうワンテンポ遅い感じがするんだよなー
0861nobodyさん2009/06/15(月) 01:37:41ID:???
感じで語られても困ります
0862nobodyさん2009/06/15(月) 09:51:13ID:???
初回起動が重いのはしょうがないけど、起動しちゃえば軽いよ
メモリも1GB程度しか食わないし
0863nobodyさん2009/06/15(月) 13:56:39ID:???
なんだそのニワカ丸出しの発言は
メモリは使えば使うし、使わなければそんなに食わない
0864nobodyさん2009/06/15(月) 15:08:15ID:hQbzBooU
vistaは初回起動時にメモリにキャッシュするから2回目から断然起動が早くなる
0865nobodyさん2009/06/15(月) 18:37:19ID:???
しっかしエラーハンドリングをやってないプログラムが多いなぁ。
関数内でエラーが出たらどこで呼び出されてエラーが出たのか分からねぇや。
エラーハンドリングをやらないクソグラマは絶滅した方がいいな。
0866nobodyさん2009/06/15(月) 20:57:49ID:???
うちの中華コーダーは例外なんて全く考えないし
同じ処理をループにしようとかも思いつかないらしい
イライラがとまらない
0867nobodyさん2009/06/15(月) 22:18:32ID:???
中華は概ね優秀だと思う
それは中華だからじゃなくてコーダだからだ
0868nobodyさん2009/06/15(月) 23:03:28ID:???
と在日が申して降ります^^
0869nobodyさん2009/06/15(月) 23:38:24ID:???
下手に@とかで握り潰されるよりは、おとなしく死んだりNotice吐いたり例外ぶん投げてくれた方が原因特定ラクだけどな。
0870nobodyさん2009/06/16(火) 09:49:34ID:???
>>869
@握りつぶしは本当やめてほしいわ。速度も遅くなるし。
0871nobodyさん2009/06/16(火) 16:04:21ID:1A1uQnOj
>>869
客にNoticeとか見せたくないのもあるな。
例外はPHP5からなんでまず4の遺産を処分しないと
0872nobodyさん2009/06/16(火) 16:12:12ID:???
変数一つ一つチェックかけるの面倒なので、
クラスから登録→呼び出しを強制。

中身は配列登録と、書き込みと、呼び出すときのチェックだけwww
■ このスレッドは過去ログ倉庫に格納されています