【PHP】下らねぇ質問はID出して書き込みやがれ 114at PHP
【PHP】下らねぇ質問はID出して書き込みやがれ 114 - 暇つぶし2ch1:nobodyさん
12/01/02 02:03:25.50
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 113
スレリンク(php板)

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

2:nobodyさん
12/01/02 02:04:06.84
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 112
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 111
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 110
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 109
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 108
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 107
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 106
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 105
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 104
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 103
スレリンク(php板)
【PHP】下らねぇ質問はID出して書き込みやがれ 102
スレリンク(php板)

3:nobodyさん
12/01/02 02:04:24.09
関連リンク
■本家マニュアル   URLリンク(www.php.net)
■日本PHPユーザ会 URLリンク(www.php.gr.jp)
■PEARマニュアル  URLリンク(pear.php.net)
■メーリングリスト   URLリンク(ns1.php.gr.jp)
■ZFマニュアル    URLリンク(framework.zend.com)
■Smartyマニュアル  URLリンク(www.smarty.net)

(以下英語)
■Zend本家      URLリンク(www.zend.com)
■Zend Framework  URLリンク(framework.zend.com)
■php | architect   URLリンク(www.phparch.com)
■Smarty       URLリンク(www.smarty.net)<)
■PECL本家(英語) URLリンク(pecl.php.net)

4:nobodyさん
12/01/02 02:04:38.64
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → URLリンク(example.com)が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「~.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。

5:nobodyさん
12/01/02 02:04:53.06
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_~()が手軽。複雑なパターンはpreg_~()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  URLリンク(www.faqts.com)
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://~とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください

6:nobodyさん
12/01/02 02:05:31.26
あけましてポポポポーン

7:nobodyさん
12/01/02 03:54:44.69
>>1GJ

8:nobodyさん
12/01/02 04:10:13.34 Vsxd7/Vo
PHPのシングルトンはあまり意味ないってよく聞くんですけど、
本当ですか?

9:nobodyさん
12/01/02 06:47:39.02 l3XFfeoy
今年も夜露死苦

10:nobodyさん
12/01/02 09:14:56.71
>>8
意味はあるんじゃない?

11:nobodyさん
12/01/02 09:29:15.27
PHPに限らずウェブアプリ全体に言えることだけど消費リソースの低減って働きをシングルトンに求めるならそれはあまり意味ないと言える
アクセスごとに処理されるわけだし
例えば全部のアクセスをメモリ上に置いたシングルトンなインスタンスで処理できるようなものになれば話が違ってくるけど

12:nobodyさん
12/01/02 09:31:14.28
シングルトンって消費リソースの低減のためにやるもんなの?

13:nobodyさん
12/01/02 09:37:46.62
シングルトンなんてデザインパターンの中でもそれほど重要だないもんだし
一度の処理でオブジェクト1つに制限したいとか2つに制限したいとか好きなように使えばいいだろ

14:nobodyさん
12/01/02 09:50:33.58
>>8
PHPの書籍スレでベテランを装った素人が「PHPでシングルトンは出来ない」とか言ってるのを真に受けた?
デザインパターンを全く理解してない人のたわごとだから無視していい。

15:nobodyさん
12/01/02 09:53:32.11
PHPでDB接続以外にシングルトンなんて使うことあるの?

16:nobodyさん
12/01/02 10:07:23.66
>>14
理解してない半端ものほどそういう宗教っぽいセリフ出すよね
何故出来ないのか理解したほうが良い

17:nobodyさん
12/01/02 10:22:40.15
>>1

18:nobodyさん
12/01/02 11:02:52.10
>>15
Pear Class: Net_UserAgent_Detect
PHP4でsingleton実装してる。
URLリンク(pear.php.net)

19:nobodyさん
12/01/02 12:14:22.05
どこで使うんだよ、目的と手段が入れ替わってないか?

20:nobodyさん
12/01/02 12:20:49.99
目的の無い旅もいいもんだ (暇人に限る)

21:nobodyさん
12/01/02 12:29:16.32 Vsxd7/Vo
シングルトンってやっぱりあんまり意味ないみたいですね。
公式サイトに書いてありました。
シェアードナッシングとはプロセスごとにメモリ空間バラバラに
なるからということか。
このへんはマルチスレッドな言語とは事情が違うわけですね。

www.php.net/manual/ja/language.oop5.patterns.php

22:nobodyさん
12/01/02 12:47:01.87
>>11
それってJavaなんかだと普通にできませんか?
applicationスコープというがあるわけで。

23:nobodyさん
12/01/02 16:10:22.97
PHPのシングルトンは半端だよ。
公式サイトにもPHPでは意味ないかもって書いてあるじゃん。
まったく無意味ではないけど複数プロセス・複数メモリ空間のPHPでは
本来の意味は無いって。

24:nobodyさん
12/01/02 16:43:20.79
>>21
>>23
本当はわかってないだろ。

25:nobodyさん
12/01/02 17:10:05.14
シングルトンって1インスタンスを保証するために使うもんでないの?

26:nobodyさん
12/01/02 17:18:55.87 jFXHaYiB
インターフェース名でAという名前をつけて
クラス名でもAという名前をつけるとエラーが出たのですが
インターフェースとクラスでも名前がかぶるといけないのでしょうか?

27:nobodyさん
12/01/02 17:23:24.40
インタフェースとクラスが同じ名前なら
それはオブジェクト設計がおかしい

28:nobodyさん
12/01/02 17:25:38.11
>>24
どこがわかっていないか説明してあげてね。

>>25
おっしゃるとおり。1プロセスで1インスタンス生成。
PHPの場合は複数のプロセスで動くのでサイト内で
唯一のインスタンスにはならないね。


29:nobodyさん
12/01/02 17:43:31.44
サイト内で唯一のインスタンスにはならないね。(キリッ)

30:nobodyさん
12/01/02 17:46:06.37 jFXHaYiB
>>27
設計がおかしいということはやはり、
同じ名前はつけられないことになってるんですね
ありがとうございます

31:nobodyさん
12/01/02 18:03:00.77 Vsxd7/Vo
別の質問です。

こういった場合どのようにするのが効率的ですか?

トップページにニュースを表示させます。
ニュースのデータはDBへ保存しています。

ニュースは誰が訪問しても同じデータですので、
ユーザーごとにDBへ取りに行くのは不効率です。
そのためDBから取り出したデータを
他のユーザーもDBへ再アクセスせずに利用できるようにしたいのですが
どのような方法がありますか?

それともやはりユーザーごとにDBへ取りに行く必要があるのでしょうか?

32:nobodyさん
12/01/02 18:10:28.67
>>22
サーブレットのライフサイクルを知らないんでしょ

>>30
コーディング規約でググるといい
クラス…名詞、インターフェース…形容詞と分けたり
プレフィックス (IUnko, IChinko) を付けたり
なぜそうしているのか?等勉強になるから

33:nobodyさん
12/01/02 18:24:49.10
最近思うことは関数の仕様が気持ち悪い
str_replaceとかstrlenとかなんだよ

str.replace str.lenとか
strreplace strlenとか
str_replace str_lenとか
いつになったらこういうのが統一すんだよ
一部でオブジェクト化してるが今のままで全ての手続き型からオブジェクト型に移行するのにPHP8ぐらいいきそうだな

34:nobodyさん
12/01/02 18:25:53.66
>>31
創造性の無い人間はプログラミングに向いてない

35:nobodyさん
12/01/02 18:27:21.26
>>31
静的ページ作っておけば?

36:nobodyさん
12/01/02 18:27:40.78
>>32
ありがとうございます
今見ていますが勉強になります

37:nobodyさん
12/01/02 19:02:53.75
>>31
とってきた物と時刻をファイルなりmemcacheなりに保存して
有効期限が切れたらDBから取り直す

38:nobodyさん
12/01/02 19:09:23.14 Lu/m0VMP
phpでmemcacheをやりたいのですが
サーバを再起動するとmemcachedに入っているデータは飛びますか?


39:nobodyさん
12/01/02 19:10:51.80 Vsxd7/Vo
>>31
>>37

やっぱりそうなっちゃうんですね。
アプリケーション全体みたいなやつがあればいいんでしょうけど
PHPには無いのですね。わかりました。ありがとうございました。

40:nobodyさん
12/01/02 19:11:25.15
memcachedはデータ飛ばないだろ
APCなんかは無理だけど
つーかググれよ

41:nobodyさん
12/01/02 19:13:03.21
>>39
おまえそもそもPHPをなんだと思ってるんだよ
トンチンカンすぎるだろ

ちなみにトンチンカンって言葉聞いたのすっげ久しぶりだ

42:nobodyさん
12/01/02 19:21:02.53 Vsxd7/Vo
>>41
PHPって今最も優れたサーバーサイド言語ですよね。
何かお気に障りましたか?

43:nobodyさん
12/01/02 19:24:45.27
昨日荒らしてたキチガイか。

44:nobodyさん
12/01/02 19:25:31.63 Lu/m0VMP
なるほど
サーバを再起動してもmemcachedで保有するデータは飛ばないって事ですか
でもmemcachedを再起動したら飛びますよね?
こういう場合ってどうやってデータをバックアップしてmemcached再起動後にデータをリストアするのでしょうか?

45:nobodyさん
12/01/02 19:27:40.54 Vsxd7/Vo
>>43
お疲れさん。
今日の釣りはこれで終了する。
ごくろう。

46:nobodyさん
12/01/02 19:33:37.50
昨日1000取ってたヤツか

47:nobodyさん
12/01/02 19:38:32.48
>>34

釣りなのかはともかく>>31程度のことを創造性の問題にするとはw


48:nobodyさん
12/01/02 19:52:33.98
DBに保存してるならジャンルごとに取り出すとかレコメンドして取り出すとかいろいろできるだろ
すべてのユーザに同じデータならニュースサイトのRSSひっぱってくりゃいい
なんでもできる状態で”これしかできない”限定の質問が視野狭窄脳梗塞状態
周りにこーゆーヤツが多くてちょっとイラッ☆っときてしまった
反省はしてない

49:nobodyさん
12/01/02 20:32:24.66
しかし、>>31の釣り野郎はPHPの弱点をうまく突いているwww

50:nobodyさん
12/01/02 20:41:19.53
あと->とかふざけんな.でメンバにアクセスできるようにしろ!
面倒くせえんだよ->ってうつの

51:nobodyさん
12/01/02 20:42:23.22
>>31の言ってる意味がわからん。

52:nobodyさん
12/01/02 20:44:30.99
>>39の言ってる意味もわからん。

53:nobodyさん
12/01/02 20:54:47.07
>>47>>49
低脳が自演すると、自分の間抜けさを補強しちゃうのが悲しいな
黒いものをいくら「白だ!」と自演してもみんなクスクス笑うだけ

54:nobodyさん
12/01/02 21:11:31.24
>>48の言ってる意味もわからん。

55:nobodyさん
12/01/02 21:12:37.11
>>53
釣りにつられるなよw

56:nobodyさん
12/01/02 21:17:10.64
ここまでひどい自演も最近あまりみないな

57:nobodyさん
12/01/02 21:18:55.95 Vsxd7/Vo
このスレおもしろすぎる。
釣りって言ってるのに、入れ食い状態。
みんなに正月早々つきあってもらってごめんね。
またネタ用意してくるから待っててねwwwwwwww

58:nobodyさん
12/01/02 21:21:12.46
                   ';';,..
                    '';;';';;,.,
                      ''';;';';;'';;;,.,                  ザッ
                       ''';;';'';';''';;'';;;,.,   ザッ
          ザッ            ;;''';;';'';';';;;'';;'';;;
                        ;;'';';';;'';;';'';';';;;'';;'';;;
                        vymyvwymyvymyvy     ザッ
               ザッ     MVvvMvyvMVvvMvyvMVvv、
                   Λ_ヘ^-^Λ_ヘ^-^Λ_ヘ^Λ_ヘ
     ザッ            ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
                __,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ    ザッ
    /\___/ヽ   /\___ /\___/ヽ  _/ヽ /\___/ヽ
   /        \/      /         \  /        \
  . |           |       |           |  |           |
  |           |       |           |  |           |
.   |           |       |           |  |           |
   \        /\      \        /    \        /
   /`ー‐--‐‐―´\ /`ー‐-  /`ー‐--‐‐―´\   /`ー‐--‐‐―´
   「vipに帰ります」「vipに帰ります」「vipに帰ります」「vipに帰ります」

59:nobodyさん
12/01/02 21:22:02.25
こんなくだらない事している間におまいらの知らないところでスキルを上げてる奴らがいる

60:nobodyさん
12/01/02 21:57:14.73
とりあえず正月三が日ぐらい休めw

61:nobodyさん
12/01/03 00:37:02.85 5Pk6ggV8
phpのセッションをDBに保存し、それを別言語で作ったアプリ(具体的にはnode.js)からも共有したいと考えています。
ドメインは同じです。

URLリンク(www.phppro.jp)
を参考にしてまずはphpのセッションをmysqlに入れる方法を試してみたのですが、
DBを見たところ以下のような形式でデータが保存されていました。

session_id: bhvsjrg7dsroutsea13q1ji52
session_data: name|s:7:"1234567";id|s:9:"123456789";
session_createdate: 2012-01-02 23:44:17

session_idとsession_createdateは特に問題ないのですが、
session_dataの保存形式がよく分かりません。
どういうルールに基づいた形式なのでしょうか?
またこのsession_dataの保存形式を変更することはできるのでしょうか?

62:nobodyさん
12/01/03 00:40:23.42
>>28
プロセスを何だと思いこんでるんだ?コイツ

63:nobodyさん
12/01/03 00:42:57.34
>>62
プロセスとは何か説明してあげて。

64:nobodyさん
12/01/03 00:47:46.14 rKocSQ20
詳しい人、

PHPでマルチスレッドを実現する方法を教えて下さい。

65:nobodyさん
12/01/03 00:53:19.06
>>61 MySQLのデータ型から好きなの選んで URLリンク(www.dbonline.jp)
>>63 apache
>>64 いくらでもあるがなggrks

66:nobodyさん
12/01/03 01:00:40.26 rKocSQ20
>>65
すみません。
もっと詳しく教えてください。
どうやってマルチスレッドになるのでしょうか?

67:nobodyさん
12/01/03 01:19:51.05 rKocSQ20
>>65
本当にPHPが単なる並行処理ではなく
マルチな「スレッド」として動くのでしょうか?
どのような仕組みか詳しく教えていただけませんでしょうか?

68:nobodyさん
12/01/03 01:30:14.56
お前もう飽きた

69:nobodyさん
12/01/03 01:32:37.21
新年早々大丈夫か

70:nobodyさん
12/01/03 01:38:20.07 rKocSQ20
>>68
>>69

>>65の方が教えていただけませんので代わりに教えていただけませんでしょうか?
PHPをマルチな「スレッド」として動かす方法を。


71:nobodyさん
12/01/03 02:03:49.54
>>61
>session_data: name|s:7:"1234567";id|s:9:"123456789";
s:7やs:9ってのはString(7) String(9)ってこと
つまり文字列型の変数で長さが7文字って書いてるだけ

>>70
PHPはマルチスレッド非対応
っぽいことはcURL使えばできる

72:nobodyさん
12/01/03 02:38:05.01 rKocSQ20
>>71
やっぱりマルチスレッドはできないですよね。
>>65は嘘つきですね

73:nobodyさん
12/01/03 02:53:05.42
>>71
おまえ構うなよ

74:nobodyさん
12/01/03 02:53:47.08 rKocSQ20
>>73
あなたも嘘つきですか?

75:nobodyさん
12/01/03 03:46:50.55
>>64 は、マルチスレッドっぽいことがしたいの?

76:nobodyさん
12/01/03 03:48:48.69
>>61
確認する暇がないんで嘘付いてたら悪いけど
JSONで保存するならこんな感じかね

> URLリンク(www.phppro.jp)
function read ($id) {
  global $db;
  mysql_select_db("db_name");
    
  $result = mysql_query("SELECT * 
                         FROM session_t 
                         WHERE session_id='{$id}'");
  if(mysql_num_rows($result) == 1){
    $row = mysql_fetch_array($result);
-    return $row['session_data'];
+    $_SESSION = json_decode($row['session_data']);
+    return session_encode();

中略

function write ($id, $sess_data) {
+ session_decode($sess_data);
+ $sess_data = json_encode($_SESSION);

77:nobodyさん
12/01/03 03:50:58.26
まぁjsonにするのが普通だけどSESSIONは再利用できないでしょ
中身と何かしらユーザーと紐付けるユニークなIDだけを格納しておいて新しいSESSIONへ入れるという実装が現実的

78:nobodyさん
12/01/03 03:52:02.64 5Pk6ggV8
>>71
ありがとうございます。
ちょっと自分で調べてみて、seliarizeという関数がセッションのキーバリューをこの形式に変換していることが分かりました。

79:nobodyさん
12/01/03 04:00:17.52 5Pk6ggV8
>>76,77
やっぱりそういう方法になりますかね…
とりあえず
URLリンク(www.1x1.jp)
URLリンク(code.activestate.com)
seliarizeが中でどんなことやってるのかが何となく分かりましたし、
php側での対応は特にせずにjavascript側でseliarize関数的なものを実装しようかと思います。
ありがとうございます。

80:nobodyさん
12/01/03 04:11:57.55
PHPのシリアライズのバグは治ったんでしょうか?

81:nobodyさん
12/01/03 04:13:01.20
なんか厄介事やろうとしてるみたいだけど素直にajaxでPHPからjsonでもらったら?

82:nobodyさん
12/01/03 04:17:24.79
>>61
>>76
そんなことするくらいならPHP以外の言語にしては?

83:nobodyさん
12/01/03 10:51:44.23
いい加減な事いう>>65が答えられなくて誤魔化してきたことに笑った

84:nobodyさん
12/01/03 14:52:20.49
関数の呼び出し元はdebug_backtrace()で、ローカル変数はget_defined_vars()
で取得できるようですが、呼び出し元のローカル変数一覧を取得する方法は
ないのでしょうか?

85:nobodyさん
12/01/03 15:03:14.85
>>84
>>1

86:nobodyさん
12/01/03 16:32:20.69 u/AA2OwX
すいません…

【OS名】FreeBSD 8.1-RELEASE-p5
【PHPのバージョン】5.3.8
【連携ソフトウェア】
【質問内容】
関数の呼び出し元はdebug_backtrace()で、ローカル変数はget_defined_vars()
で取得できるようですが、呼び出し元のローカル変数一覧を取得する方法は
ないのでしょうか?

87:nobodyさん
12/01/03 16:56:09.74
>>86
ないです

88:nobodyさん
12/01/03 17:16:36.40 u/AA2OwX
>>87
わかりました。ありがとうございます。

89:nobodyさん
12/01/03 17:19:27.22
>>88
俺はコードを載せてもらわないと答えられないから
サンプルコードを出してもらってどこの変数をどこから取得したいのかコードで書いてくれ
基本的に俺は日本語だけの質問は答えないけど

90:nobodyさん
12/01/03 17:20:04.63
ちなみに外人です

91:86
12/01/03 18:08:55.19 u/AA2OwX
こんな感じなんですが。
function a() {
$a = 123;
b();
}

function b() {
// ここでa()のローカル変数を取得したい
// (array('a' => 123))
}

92:nobodyさん
12/01/03 18:19:55.30
>>91
function a() {
$a = 123;
b(get_defined_vars());
}

function b($vars) {
var_dump($vars);
}

93:nobodyさん
12/01/03 18:25:22.21
function a() {
$a = 123;
b();
}

function b() {
// ここでa()のローカル変数を取得したい
// (array('a' => 123))
}

これだけ見ると
b()に引数で渡せよってなるね

94:nobodyさん
12/01/03 18:36:58.73
お前が書き込んでいるとき

既に俺は渡した

95:nobodyさん
12/01/03 18:49:51.05 Ccq7mdky
phpMyAdminのテーマって、公式から拾える分しかないのですか?
同じデザインで、色違いってのが3種類欲しいんだけど

96:nobodyさん
12/01/03 18:51:12.87
>>95
他にもあるよ

97:nobodyさん
12/01/03 18:52:03.43
>>91
こういう風にクラスに入れとくのは?
class Debug
{
public $debug = array();
public function get_vars(){var_dump(get_object_vars($this));}
}

class Test extends Debug{}

function a() {
$test1 = 1;
$test2 = 2;
$test3 = 3;

// デバッグモード
global $obj;
$obj = new Test();
$obj->debug["test"] = $test1;
$obj->debug["test2"] = $test2;
$obj->debug["test3"] = $test3;
}

function b() {
// デバッグモード
global $obj;
$obj->get_vars();
}

a();
b();


98:nobodyさん
12/01/03 19:31:14.73
>>31

おいおいおい、

そういうときこそシングルトン使えよ。
全くこのスレはレベル低いな。

99:nobodyさん
12/01/03 20:27:11.00
DBアクセスにシングルトンを使う場合
あくまでも同じユーザがリソースを使いまわすためにあるもので
別のユーザが使ってたリソースを別ユーザが再利用するなんてことは出来ない

>>31のようなものは単にキャッシュの仕組みを作ればいい

100:nobodyさん
12/01/03 20:39:04.35
釣られんなよ

101:nobodyさん
12/01/03 20:40:01.09
自分のレベルの低さを釣りで済ますなよ

102:nobodyさん
12/01/03 20:47:44.01
>>99
えーーーー。知らなかった。
PHPのシングルトンは特殊ですね。

103:nobodyさん
12/01/03 20:54:55.18
>>99
おいおい、君もレベル低いな。
アプリケーションスコープに入れて
シングルトンかませばいいだろ。

104:nobodyさん
12/01/03 21:04:35.24
一人何役?

105:nobodyさん
12/01/03 21:32:25.10
間抜けなこと言ってるのは >>98 >>102 >>103

106:nobodyさん
12/01/03 21:38:30.72
コネクションプーリングなんてのはそもそもアプリケーションサーバが対応してないと無意味だしな

107:nobodyさん
12/01/03 23:06:40.58
>>71
>PHPはマルチスレッド非対応
公式では”非推奨”とされてるだけで、Apache MPM workerでマルチスレッドモードになる
URLリンク(php.net)

108:nobodyさん
12/01/03 23:20:26.07
>>107
非推奨は使い物にならないんだよ。
完全趣味ならともかくビジネスだったら非対応。
これだからPHPは馬鹿にされる。

109:nobodyさん
12/01/03 23:27:02.14
>>108
馬鹿はそうやって最初からあきらめるが、頭が良い人間はこれでビジネスをする
URLリンク(www.phpclasses.org)

110:nobodyさん
12/01/03 23:33:06.46
>>107
Apacheの機能じゃんそれ・・・

111:nobodyさん
12/01/03 23:33:33.84
ついでにこれも読んだら、使いどころがだいたいわかるっしょ
[PHP-DEV] PHP Performance in Apache: Multi-Process vs Multi-Threaded
URLリンク(www.serverphorums.com)

112:nobodyさん
12/01/03 23:40:41.72
必死にググって張ってるだけだろwwwwwwwwwwwwwwwwwwwwwwwwwwww

113:nobodyさん
12/01/03 23:42:00.40
>>112を擁護するわけではないけど
英語でベタベタ貼る人ってだいたい理解してない
ごまかしてる感がするので日本語で説明して下さい

114:nobodyさん
12/01/03 23:44:14.54
>>109
静的コンテンツをマルチスレッド化されたウェブサーバで運用するアイデア
>>111
マルチスレッド、マルチプロセスのパフォーマンス比較

115:nobodyさん
12/01/03 23:50:08.31
>>111
結論言う。

言語を変えろ。

116:nobodyさん
12/01/03 23:51:11.23
これは日本語で書いてある

LAMP システムを調整する: 第 2 回 Apache と PHP を最適化する
URLリンク(www.ibm.com)

117:nobodyさん
12/01/03 23:52:26.89
>>109
頭の良い人はPHP以外の手段を使う。これ常識。

118:nobodyさん
12/01/03 23:57:57.57
>>111
アパッチの動作モードの話をしてどうすんだっていう

119:nobodyさん
12/01/04 00:00:11.45
PHPerはバカばっかり。

120:nobodyさん
12/01/04 00:15:57.19 GubBHlXR
PHPでJavaを実装したいのですがどうしたらよいでしょうか?

121:nobodyさん
12/01/04 00:56:17.87
このスレ程度低すぎ。

122:nobodyさん
12/01/04 00:56:25.29
年明けてもココ相変わらずだなwwwwwwwwwwwwww

123:nobodyさん
12/01/04 01:05:33.68
>>120
QuercusというJavaで実装されたPHPはあるが、
その逆はどうあがいても無理。

124:nobodyさん
12/01/04 01:20:24.22
限定的なものなら作れるかもねw

125:nobodyさん
12/01/04 02:06:09.87
>>107
将来Zend Thread SafetyてのはRubyやpythonみたいに使えるようになるのかねぇ

126:nobodyさん
12/01/04 02:48:24.12
PHPはC言語で実装されている。
逆にC言語はPHPで実装できる。これ常識よ。

127:nobodyさん
12/01/04 03:25:48.26
どーも年末からキチガイ中年が一人わいてるな
いい歳こいて恥ずかしくないのかね
PHPがクソ言語?そうかもね、そんな気もする
で?ってゆう

128:nobodyさん
12/01/04 03:48:18.28 zYHozA87
phpでセッションをmemcachedに保存しようと思っています
セッションの格納時にデータシリアライズをphpのデフォルトではなくjsonにしたいのですが
その指定方法が分かりません。

$m = new Memcached();
$m->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON);

$m->addServer('localhost', 11211);
$m->set('array', array(11, 12));
$m->set('object', new stdclass, time() + 300);


上記のコードを試してmemcachedを覗いたところ、データは問題なくjsonで格納されていたため、
jsonでmemcachedに保存すること自体はできているようです。

URLリンク(github.com)
を参考にしてmemcached.iniに memcached.serializer = "json" を入れたり

$m = new Memcached();
$m->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON);
session_start();

として読み込み時にjsonを指定していますが、どうしてもjsonで保存されません。
どうしたらうまくいくでしょうか。

129:nobodyさん
12/01/04 03:48:18.88
>>127
このスレはレベル低すぎるよ・・・。

130:nobodyさん
12/01/04 03:54:18.43
>>128
そんな処理をPHPですること自体に無理がある。
PHPのシリアライズはバグありで有名なので、
別言語で書き直すべき。

131:nobodyさん
12/01/04 04:04:27.07
>>128
あのさ、ただの文字列'abc'とかの出し入れやってみた?
次にmemcachedに格納したそのセッションとやらを単純に取り出してdumpしてみた?
質問する以前の問題だと思うんだよね

132:nobodyさん
12/01/04 04:12:27.36
>>128
まさかとは思うが session.save_handler を指定してないとかないよな
URLリンク(www.php.net)

133:nobodyさん
12/01/04 04:30:44.93 zYHozA87
>>130
URLリンク(php.net)
自分の独自実装ではなく、php5.2以降に追加されたオプションだと書いてあったので
php側が提供する機能ならば無理があるというほどではないと思っていたのですが、
無理なのでしょうか…

>>131
そもそもmemcachedにセッション保存できているか確認しろということでしょうか?以下のコードを試しています

$m->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON);
session_start();
$_SESSION['string'] = 'a simple string';
$_SESSION['array'] = array(11, 12);
$_SESSION['object'] = new stdclass();

var_dump($_SESSION["string"]);
var_dump($_SESSION["array"]);
var_dump($_SESSION["object"]);

結果
string(15) "a simple string"
array(2) { [0]=> int(11) [1]=> int(12) }
object(stdClass)#3 (0) { }

memcachedから手動で読みだした結果
string|s:15:"a simple string";array|a:2:{i:0;i:11;i:1;i:12;}object|O:8:"stdClass":0:{}

>>131
はい、ちゃんと memcachedとmemcachedの動くホスト(localhost)とデフォルトのポート番号を指定しています。
telnetで接続してみても問題はありません。

134:nobodyさん
12/01/04 04:32:33.54 zYHozA87
>>131
$m->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON);
とmemcached.iniに memcached.serializer = "json" を入れることで、
シリアライズの指定ができるのではないかと思っていたのですが、結果のとおりだめでした。
セッションの情報自体は保存されるものの、保存形式はjsonではありません



135:nobodyさん
12/01/04 04:43:47.34
>string|s:15:"a simple string";array|a:2:{i:0;i:11;i:1;i:12;}object|O:8:"stdClass":0:{}

オレにはjsonに見えるけどオレの目がおかしいの?

136:nobodyさん
12/01/04 05:02:08.10
>>133
php.ini の session.serialize_handler でやらなきゃダメなんじゃないかな
ソースちら見したけど memcached 側で変換しているようには見えないんだが

>>135
眼科行け

137:nobodyさん
12/01/04 06:17:34.03 49ygosTB
'w+' 読み込み/書き出し用でオープンします。 ファイルポインタをファイルの先頭に置き、 ファイルサイズをゼロにします。 ファイルが存在しない場合には、作成を試みます。

fopenのw+ってファイルサイズをゼロにするとあるのですがw+で開いてfseekせずに読むことってできますよね?



138:nobodyさん
12/01/04 06:28:40.45
ああああああああw+ゼロって消すのか・・・
w+で読み込みって意味あるのかコレ・・

カウンタみたいな使い方の場合 r+じゃないと行けないのか
事前にファイルの存在調べてtouch()で作らなきゃいけないんですかね。。



139:nobodyさん
12/01/04 06:51:03.20
>>138
'c' 書き込みのみでオープンします。ファイルが存在しない場合には新規作成を試みます。
'c+' 読み込み/書き出し用でオープンします。 それ以外のふるまいは 'c' と同じです。

140:nobodyさん
12/01/04 08:30:12.32 3Vpp07Ai
phpで携帯とかスマートフォンとかiphon対応でPC版と
違うのはMETA部と画面の幅とあと特別にあるのでしょうか?

141:nobodyさん
12/01/04 09:13:15.42
それPHP関係なくね
HTMLレベルの話じゃん

142:nobodyさん
12/01/04 11:37:54.28 zsEsnx9y
行末にセミコロンを自働で付けてくれるエディタってないですか?

143:nobodyさん
12/01/04 11:50:04.23
>>133
なんでアプリケーションスコープ使わないの?
こっちの方が簡単でしょ。

144:nobodyさん
12/01/04 11:52:14.84
>>142
emacs

145:nobodyさん
12/01/04 13:05:02.27
どうやるの?

146:nobodyさん
12/01/04 14:23:10.70
改行コードをセミコロン+改行コードに置き換えればいいだけじゃね

147:nobodyさん
12/01/04 14:38:11.76
>>139
ありがトン

148:nobodyさん
12/01/04 14:42:27.81
>>146
そうなんだけど、自動でやるにはどうすればいいでしょうか?
ぐぐったり調べてみたけどわかりませんでした

149:nobodyさん
12/01/04 15:06:30.61 gPY3Wdcl
phpのクラスを使った適当なサンプルプログラムがあるwebサイトを
教えてください、英語サイトでもいいです。

150:nobodyさん
12/01/04 15:19:37.29
>>149

class A{
public $s = "string";
}
$a = new A();
echo $a->s; // string

class B{
public $s = "string";
}
$b = new B();
echo $b->s; // error

class B{
private $s = "string";
public function e(){
return $this->s;
}
}

$b = new B();
echo $b->e; // string

class C{
public $s = "string";
function __construct($s){
$this->s = $s;
}
}
$c = new C("abc");
echo $c->s; // abc

151:nobodyさん
12/01/04 15:35:31.77
>>148
なんでそんなもんが必要なの?

if($hoge) {;
$fuga = 0;
} else {;
$fuga = 1;
};

こんなことになるけど
そもそも自動でセミコロン付加するエディタってほかにあるの?

152:nobodyさん
12/01/04 15:44:52.30
>>151
ほかにってことは自動でそのように付加するエディタがあるってことか?
迷惑千万だけど、プラグインとか書きゃそうなるけど

153:nobodyさん
12/01/04 15:49:55.61
>>152
いや、ここで求めているほかにそんなのあるのかと
聞いたことないし、そんなのあったら鬱陶しいことこの上ない

154:nobodyさん
12/01/04 15:56:40.16
>>151
>なんでそんなもんが必要なの?

よく付け忘れたり、隣のコロンを付けちゃってエラーになるので
エディタが構文解析して必要な場所に自働で付けてくれれば便利だと思ったのですが
2012年の今でもそこまで便利なものはない?

155:nobodyさん
12/01/04 16:02:08.07
普通の人はそんなの迷惑なだけで誰も欲してないから作られないんでしょ
欲しければ自分で正規表現でも書いてエディタのプラグイン作ったらいいんじゃないの

156:nobodyさん
12/01/04 16:24:04.92
今日も高レベルなトークが繰り返されているね。

157:nobodyさん
12/01/04 16:28:08.27
PHPerはアホばかりw

158:nobodyさん
12/01/04 16:29:38.31
つうかPHPと関係ない質問はご遠慮くださいよ
エディタスレにでもいきやがれ

159:nobodyさん
12/01/04 16:48:58.91
>>154
秀丸ならある

160:nobodyさん
12/01/04 17:02:08.23
>>157
同じアホなら書き込まにゃ損損♪

161:nobodyさん
12/01/04 17:03:25.32
>>159
文脈判断して、付加してくれるってことかな。
$str = "hogehoge"
  . "hogehoge"
  ;
こういうコード書こうとしたらどうなるの?

162:nobodyさん
12/01/04 17:18:26.29
>>154
禿丸ならある

163:nobodyさん
12/01/04 17:26:11.66
>>161
マクロ実装しだいでどうにでもなる
しかしPHPスレだからこれ以上はここで回答しない
秀丸使い始めてから秀丸スレ池

164:nobodyさん
12/01/04 17:30:34.60
PHPerはアホばかりw

165:nobodyさん
12/01/04 17:47:35.26
どう贔屓目にみても>>164が一番アホにみえるわ
自分のレス全部読み返してみたら
たぶん死にたくなると思う

166:nobodyさん
12/01/04 17:47:51.62 1MDsVe6G
すみません 初心者ですが教えて下さい。
phpのファイルを拡張子なしで表示したいのですが、
レンタルサーバーで
option+Multiviewが使えませんでした。

どこかのサイトで
URLリンク(www.sample.com)
じゃなく
URLリンク(www.sample.com)
ならば
割と簡単に出来ると書いてあったのですが、方法をご存知の方はいらっしゃいませんか」?

検索したのですがわからなかったので、
検索ワードも教えて頂けると嬉しいです。

167:nobodyさん
12/01/04 17:57:03.48
>>166
普通はmod_rewrite

>どこかのサイトで
>URLリンク(www.sample.com)
>じゃなく
>URLリンク(www.sample.com)
>ならば
>割と簡単に出来ると書いてあったのですが、方法をご存知の方はいらっしゃい>ませんか」?

これはディレクトリで分けてindex.phpを置くって意味じゃない
/abc/index.php
その場合はhttpd.confなり.htaccessなりで
DirectoryIndex index.php
になってればおk

168:nobodyさん
12/01/04 18:12:06.36
>>163
え、自分でマクロ実装しろって話なの?この流れで?まさか?

169:nobodyさん
12/01/04 18:16:59.21
え、マクロも書けない素人なの?だったら他の初心者向けエディタ使ってればいいと思うよ

170:nobodyさん
12/01/04 18:19:13.57
へ?

171:nobodyさん
12/01/04 18:20:17.84
PHPerはアホばかりw

172:nobodyさん
12/01/04 18:20:45.01
秀丸erはアホばかりw

173:nobodyさん
12/01/04 18:21:43.21
秀丸ならある、って書いてるくらいだから秀丸ユーザ的にはメジャーなそういうマクロとかがあるんだろうよ。

174:nobodyさん
12/01/04 18:23:08.97
裏を返せば秀丸以外にはないかもね
わざわざ秀丸使うような人たちが欲するものを理解するのは無理

175:nobodyさん
12/01/04 18:32:27.15
-l でlintかけりゃ済む話だろ;
いちいち勝手にセミコロン置かれてたまるか;

176:nobodyさん
12/01/04 18:40:37.39 1MDsVe6G
>167
ありがとうございます。
mod_rewriteで検索したところそれっぽい感じでした!
ただ.htaccess自体もよく理解できていない状態なので、
じっくり勉強したいと思います!

>DirectoryIndex index.php
ということは
URLリンク(www.sample.com)

>URLリンク(www.sample.com)
こうしたいときは
順次.htaccessに
DirectoryIndex index.php
と記述していけばいいんでしょうか…?

丁寧に説明して頂いて感謝です!


177:nobodyさん
12/01/04 18:43:44.40
>>176
【Apache】mod_rewriteについて語るスレ
スレリンク(php板)

178:nobodyさん
12/01/04 18:43:46.89
>>176
すごくちがいます
失礼ですが、これ以上説明しても理解できるレベルじゃないと誰もが思ってると思います
ですのでもう少し自分なりに学習してください

179:nobodyさん
12/01/04 18:47:20.75
年末になると決まって変なの湧くな
そして正月終わっても定着しちゃうんだよね┐(´д`)┌

180:nobodyさん
12/01/04 19:32:06.64
PHPerはアホばかりw

181:nobodyさん
12/01/04 19:32:56.14 UqtcALC3
初心者で基礎的過ぎる質問ですがお願いします。

PHPでフォームを作成しているのですが、データの受け渡し方法が分かりません。
「PHPの絵本」という本を見ながらやっているのですが、
<form action="実行するPHPのURL" method="post">と書かれてあります。
この「実行するPHPのURL」というのがよくわかりません。
あらかじめ「実行するPHPのURL」というものを用意しておくということでしょうか?
まだプロバイダー申し込み等していないのですが、それをしてからということでしょうか?

182:nobodyさん
12/01/04 19:40:16.39
PHP関係ねぇ

183:nobodyさん
12/01/04 19:44:24.86
>>181
マジで初心者だな。

実行するPHPのURL=hello.phpとする
<form action="hello.php" method="post">
を書いたhtmlを入れてあるファルダにhello.phpを入れる。

例えばhello.phpを
<?php
echo "hello"\n;
?>
としてブラウザには正常に表示されない。
普通はサーバーソフトを自分のpcで立ち上げ、
urlはURLリンク(localhost)にアクセスする。

184:nobodyさん
12/01/04 19:47:35.63
>>181
フォームを受け取るPHPのURLってことだよ
そのフォームを表示するhtmlからの相対パスで指定しとけばおk
<form action="form.php" method="post">

実際にフォームの受け渡しについてテストするなら
xamppとか入れてローカルでテストする

ところで今はどうやってphpテストしてる?
コマンドラインならform.phpの最初の方で
$_POST['key'] = "値"; // <input name="key" value="値">
ってしとけばローカルサーバー不要でテストできるね


185:nobodyさん
12/01/04 19:47:47.36
[hoge.php]
<?php
echo $_POST['hoge'];
?>

[index.html]
<form action="hoge.php" method="post">
<input type="text" name="hoge">
<input type="submit">
</form>

あとは
<body onload="alert('Hello')">
と入力して送信おしてHelloと出てきたら成功です

186:nobodyさん
12/01/04 19:50:21.70
>>181
<form action="hello.php" method="post>
を書いてあるのがhello.htmlとして
URLリンク(localhost)にアクセスするんだよ。
たとえばxamppならC:\xampp\htdocsにhello.htmlとhello.phpを入れとく。

187:nobodyさん
12/01/04 21:16:20.20 UqtcALC3
>>181です。
みなさん、ありがとうございます。
教えていただいた通りにやったらできました!!

188:nobodyさん
12/01/04 21:30:54.32
いいってことよ

189:nobodyさん
12/01/04 23:21:41.75 s9lYOiI4
現在のページの下位置って取得できる?javascriptでもいいけど

190:nobodyさん
12/01/04 23:48:16.96
スクロール位置の事だったら(innerHeight + pageYOffsetとか)
クライアントサイドの仕事だからJavaScriptスレで聞いたほうがいいよ

191:nobodyさん
12/01/05 00:17:41.50 YvCiXMC9
phpでmemcachedなど外部キャッシュを利用せずに
アプリケーションスコープ相当を実現することはできますか?

192:nobodyさん
12/01/05 00:39:35.64
またお前か

193:nobodyさん
12/01/05 00:52:10.76
>>191
PHPだけじゃ無理なんで、なんか工夫する

194:nobodyさん
12/01/05 00:59:15.22 YvCiXMC9
>>193
具体的に方法はありますか?

195:nobodyさん
12/01/05 01:04:20.51
具体的にどういう設計を考えてるのか説明してくれないとなんとも言えん

196:nobodyさん
12/01/05 01:07:57.28 YvCiXMC9
>>195
ケースバイケースになるくらい難しいことですか?


197:nobodyさん
12/01/05 01:10:10.17 YvCiXMC9
ちなみに静的ファイルを作るという手法は試しています。

198:nobodyさん
12/01/05 01:16:29.08 YvCiXMC9
>>195
他のサーバーサイド言語では主に3つのスコープがあります。
1.リクエスト
2.セッション
3.アプリケーション

私見だとPHPには1,2相当はありますが3がないので困っているのです。
どうしたらよろしいでしょうか?3がないとすると大幅にパフォーマンスが
変わりかねないので悩んでいるのです。

199:nobodyさん
12/01/05 01:20:01.65
>>198
>大幅にパフォーマンスが 変わりかねないので悩んでいるのです。
ほう、それは具体的にどういうケースでパフォーマンスの低下が発生するの?
実装次第で回避出来るかもしれんよ。

200:nobodyさん
12/01/05 01:25:30.10 YvCiXMC9
>>199
サイトへアクセスする全員が利用するデータがDBにあります。

201:nobodyさん
12/01/05 01:27:30.94
>>194
自分で書いてるようにmemcachedを使うのではだめなの

202:nobodyさん
12/01/05 01:28:43.46
>>200
ん?DBにあるものでいいのなら別段困ることはないような。すでに外部依存でしょ

203:nobodyさん
12/01/05 01:29:24.23 YvCiXMC9
>>199
たとえば一定期間に1000人がアクセスしたとします。
最低1000回DBへのアクセスが発生します。
データは共通なのだから本来であればDBへのアクセスは1回で
よいはずです。

204:nobodyさん
12/01/05 01:32:17.91 YvCiXMC9
>>202
基本的にPHPは重いしサーバーのメモリを食うのでできる限り
使用したくないのです。
そこで、jsonなどの静的ファイルに置き換えてjsで読むという方法は
取っていますが、結局サーバーサイドとクライアントサイドで書く必要
があるのでめんどくさいのです。

205:nobodyさん
12/01/05 01:32:25.82
>>200
それは絶対にDBになくちゃいけないのか?
静的ファイルで出来るなら設計から見直した方がいいだろう。

206:nobodyさん
12/01/05 01:34:30.08
>>203,204
Webサービス化+キャッシュ(orプロキシ)を使うではダメ?

207:nobodyさん
12/01/05 01:35:26.23
補足 サービスはJSONまたは部分的なHTMLを返却するものをつくって。

208:nobodyさん
12/01/05 01:42:34.82 YvCiXMC9
>>205
使う側の利便性を考えるとやはりDBです。

やっぱり方法は無いんでしょうね。
memcachedと使うという手法は知っていますが、
PHPの仕組み上ではどうしてもサーバーに負荷がかかってしまう。

アプリケーションスコープがある言語にどうにかして切り替えます。
ありがとうございました。

209:nobodyさん
12/01/05 02:35:16.36
新年早々大丈夫か(精神的に)

210:nobodyさん
12/01/05 02:43:39.22
>>209
くやしいのうwww、くやしいのうwww

211:nobodyさん
12/01/05 03:05:43.15
>>203>>204>>208
悪いけど究極的にウンコみたいな設計だな。
根本的におかしい。
どうやったらそんな謎設計になってしまうのか詳しく聞きたい。

212:nobodyさん
12/01/05 03:16:02.50
>>211
代替案をどうぞ

213:nobodyさん
12/01/05 03:17:13.41
>>211
代替案を出せなかったら>>211がウンコだなwwww

214:nobodyさん
12/01/05 03:19:25.31
>>211
さあ、どうでるか。ヒヒヒwwww。

215:nobodyさん
12/01/05 03:23:45.71
なるほど、つれなかったときはこうなるのか…

216:nobodyさん
12/01/05 03:24:40.47
>>211
「おかしなコードを書くことを助長する言語」
by まつもとゆきひろ

ヒヒヒwwww。



217:nobodyさん
12/01/05 03:25:36.35
>>211
なんでおかしなコードになるんでしょうか?
ヒヒヒwwww。

218:nobodyさん
12/01/05 03:25:37.26
>>212>>213>>214
そうあわてんなって。
こんなウンコみたいな設計で動いてるサイトの詳細ってお前らも知りたくないか?
本人が来たら詳しく聞いてみようぜ。

219:nobodyさん
12/01/05 03:26:40.76
>>218
もういいから早く代替案を答えて。
ヒヒヒwwww。

220:nobodyさん
12/01/05 03:27:43.85
>>218
ねぇ、質問していい?
なんどfacebookって今C++になったの?
ヒヒヒwwww。

221:nobodyさん
12/01/05 03:28:57.55
>>215
そういいながら、釣られたお前。
ヒヒヒwwww。

222:nobodyさん
12/01/05 03:30:09.30
>>211
代替案まだ?
ヒヒヒwwww。

223:nobodyさん
12/01/05 03:33:34.93
こりゃ、だめだ。
レベル低すぎ。

224:nobodyさん
12/01/05 03:38:42.21
>211
「PHPはおかしなコードを助長する言語」
同意だよね。ヒヒヒwwww。

225:nobodyさん
12/01/05 03:39:35.00
>>220
facebookってCじゃなくてC++採用したんだ?

226:nobodyさん
12/01/05 03:41:49.18
>>225
HipHop for PHP

言語の選択に間違えたfacebookの苦肉の策。

227:nobodyさん
12/01/05 03:43:26.68
>>211
ねぇ、まだ?

228:nobodyさん
12/01/05 03:46:05.91
>>226
あらあらなるほど
ちゃっちゃと作る分にはPHPは楽だからな。
人が集まった時点で作り直せばよかったんだろうけどなぁ。

229:nobodyさん
12/01/05 03:47:09.77
って、それ自体がfacebookの成果物だったんだな。
無知ですまんかった。

230:nobodyさん
12/01/05 03:50:18.84
>>226
そんなわけがわからないものを作るよりは
初めからC++で作っとけば良かったんだ。
HipHopにしてもネイティブのC++に比べると
オーバヘッドがあるわけでムダだよね。

231:nobodyさん
12/01/05 03:56:56.20
>>230
まったくだな

まあこっちのほうが遙かにわけわからないけどねw
>>203
>>204
>>208

232:nobodyさん
12/01/05 03:58:28.05
>>230
C++で作ったからといって、1000ユニークアクセスに対して1000DBアクセスが発生しなくなるわけじゃあないからな。
なんの工夫もなしにそれは変わることはない

233:nobodyさん
12/01/05 04:44:02.06
すげー自演だなw

234:nobodyさん
12/01/05 04:50:42.28
自演としても成立してないよ
HipHopはPHPの開発ツールとしての優位性が強まる、つまり「PHP最強だろ!」って話だからね
PHP憎しで完全に狂ってるけど、はたから見ると面白い

235:nobodyさん
12/01/05 08:46:23.61
>211
もういいから早く代替案を答えて。

236:nobodyさん
12/01/05 08:57:14.69
>>234
C++で作ったからといって、1000ユニークアクセスに対して1000DBアクセスが発生しなくなるわけじゃあないのに、
なぜHipHopで「PHP最強だろ!」になるのですか?

237:nobodyさん
12/01/05 09:06:53.72
>>232
PHPってそんなこともできないの?

238:nobodyさん
12/01/05 09:14:31.17
一人で一生懸命ごくろうさん
よく死にたくならないなと感心するよ

239:nobodyさん
12/01/05 09:22:13.73
>>238
もういいから早く代替案を答えて。

240:nobodyさん
12/01/05 11:42:14.54 ACIe1UJA
標準関数を自分で定義したものに置き換える方法ありませんか。

241:nobodyさん
12/01/05 11:48:53.94
PHPのソース書き換えてビルドかな
じゃなければmyTrim()とかmyPhpinfo()みたいにプレフィックスでも付けて差別化するしかない

242:nobodyさん
12/01/05 11:55:13.54 ACIe1UJA
ソース書き換えなしで不具合の出る関数の動作を修正したかったのですが。
PHPコードからではできないですか。
諦めて別名でやってみます。

243:nobodyさん
12/01/05 12:05:52.58
>>230
それはC/C++ソースをコンパイル時にアセンブラ出力して書き換えるようなもの。
無駄をなくすとすれば機械語、アセンブラにたどり着く。
しかし開発効率からそのあたりには手を出さず、PHPやC/C++のコードの範囲でできる事をした方が良い。

244:nobodyさん
12/01/05 12:15:28.46
いま荒らしてる人ってMatzを「まともと」「まともと」って言ってた人か
Matzも知らないから素人なんだろうと思ってたけど納得だわ>>218
facebook級のサイトのを運営してるSEというなりきり設定がワロタ

PHPの高速化に HipHop vs APC てのがあるみたいだけど
現時点でほとんど性能は変わらないようだし安定性の面でAPCに軍配が上がるのかな。
サクッと作って高速で動かすという技術はPHPが先を行ってる感じ
URLリンク(blog.candycane.jp)
URLリンク(dsas.blog.klab.org)

245:nobodyさん
12/01/05 12:28:51.85
HIPHOPの実行ファイルはPHP上で動くんじゃないだろ。
どれだけPHPが高速化できたとしても、リソースの少なさ、速度の速さではネイティブ実行形式が上だろ。

246:nobodyさん
12/01/05 12:43:16.59 WqkweKyi
結局のところ、アプリケーションスコープの代替ってみなさんどうされています?

247:nobodyさん
12/01/05 12:50:18.95
ニートが目覚めたな

248:nobodyさん
12/01/05 12:52:26.30
いい歳して可哀想なもんやで

249:nobodyさん
12/01/05 12:57:19.29
Javaで挫折したニートのオッサンだろう
シングルトン・マルチスレッド・アプリケーションスコープ、全部理解してないからな

250:nobodyさん
12/01/05 13:02:42.94
まぁプログラマーはここにいるおっさんのように池沼になるリスクをはらんでるよな
精神病むには最適な職種と言える

251:nobodyさん
12/01/05 14:48:43.61 r8xFdMd/
配列のキー指定で
$ary[expr1 ? expr2 : expr3]ってしたとき
expr3の結果を$ary[]にする方法ってないよね

ちなみにnullや''は空文字列で[]とは違う

252:nobodyさん
12/01/05 14:56:30.73 FPSYlk7p
あるソースを読んでいる中で
class SQLというのがありまして

function getRecord($limit = NULL, $offset = 0) {

if ($limit) return array_slice($this->record, $offset, $limit);
else return $this->record;
}

というファンクションがあったんですが、
$this->record;のrecordが何を指しているかがわかりません。
recordてもともとPHPに用意されているファンクションなんでしょうか?

253:nobodyさん
12/01/05 14:57:37.19
だれか翻訳頼む

254:nobodyさん
12/01/05 14:58:56.94
class SQLのメンバ

255:nobodyさん
12/01/05 15:09:18.10
$this->の時点で気付こうよ

256:nobodyさん
12/01/05 15:09:19.83
一回PHPのクラスで何が出来るか勉強してくるべき

257:nobodyさん
12/01/05 15:20:05.60
クラスを知らないか、理解していない人の相談なんです。

258:nobodyさん
12/01/05 15:22:06.79 FPSYlk7p
すみません。クラスをちゃんと理解していませんでした
class SQLの中にrecordというファンクションがなかったので
もともと用意されている何かだとおもったのですが
ググってもでてこなかったので聞いてみました。

まだよくわかっていないのでちょっとクラスについて調べてきます

259:nobodyさん
12/01/05 15:25:35.51 yQXwn+vl
DBを使ったサービス作るんだけど、
DB操作しやすいライブラリとかでおすすめないかな?

プログラム自体は大したことないのに、
テーブルやらカラムやらを大量に作らなきゃいけない予定なんで、
SQLで書くのめんどくさいから、
ソースコードだけで片付くものを探してるとこなんだけど

260:nobodyさん
12/01/05 15:26:13.26
もっと頭を柔らかくしようよ
$this->recordが必ずしもファンクションとは限らないのにファンクションと決めつけてるだろ
そんなことだといつまでも謎のままだぞ

>if ($limit) return array_slice($this->record, $offset, $limit);
これ見たらあー配列なんだなってわかるし
つーことは、名前からしても$this->recordにはどこかでSELECTの結果かなにかを配列としてセットしてるメンバだとわかるだろう

261:nobodyさん
12/01/05 15:26:51.23
>>258
recordというデータメンバもないですか。
親クラスがあればそちらにも

262:252
12/01/05 15:29:33.28 FPSYlk7p
class SQL {
private $count = 0;
private $host = "localhost";
private $error = null;

protected $link = null;
protected $record = null;

function connect() {
$this->link = mysql_connect($this->host, "???", "?????");
if (!$this->link) return false;
if (!mysql_select_db('recnomi', $this->link)) return false;
return true;
}

function disconnect() {
mysql_close($this->link);
}

function getRecord($limit = NULL, $offset = 0) {

if ($limit) return array_slice($this->record, $offset, $limit);
else return $this->record;
}

263:nobodyさん
12/01/05 15:30:55.18
>>259
そーゆーことならフレームワークのスレへ
ただSQL書かないで最適なクエリを発行することはまず無理だと思う
DB抽象化ライブラリがインデックスまで把握して最適なクエリを発行してくれるものがあればオレも欲しい

264:252
12/01/05 15:31:28.29 FPSYlk7p
ソースは262なんですけど
5行目のprotected $record = null
で定義しているからしたで使えているということなんですか?;


265:nobodyさん
12/01/05 15:31:53.77
>>262
>protected $record = null;

メンバとして定義されてるじゃん

266:nobodyさん
12/01/05 15:33:04.94
>>264
まぁいい
とりあえずクラスってなぁに?どう使えてどう動くの?ってことを30日間勉強して

267:252
12/01/05 15:35:46.96 FPSYlk7p
そうですか。。。
$this->recordでrecordに$がついてなかったので
ファンクションだと思ってました。。
勉強してきます

268:nobodyさん
12/01/05 15:36:05.47
>>263
了解
おもしろそうだから、一回自作できるか挑戦して、それでもダメだったらどこかのFW探してみます

269:nobodyさん
12/01/05 15:38:38.34
>>268
使う機能だけを関数化すればよい。
SQLはコマンドラインでも動作する。難しければそこからやってみてそのあとPHPにするというのもある。

270:nobodyさん
12/01/05 15:44:23.54
>>269
何言ってるのこのひと
すごく的外れ

271:252
12/01/05 15:45:28.44 FPSYlk7p
すみません。最後に一個ききたいんですが
5行目のprotected $record = nullでは配列が入っていないとおもうんですが
recordには配列はどうやって入れているのでしょうか?


272:nobodyさん
12/01/05 15:50:04.64
$this->recordやrecordでソースを検索したら代入しているところが出てくる。

273:262
12/01/05 15:51:51.85 FPSYlk7p
ありがとうございます。もう一度調べてみます

274:nobodyさん
12/01/05 16:09:56.66
$this->$recordと記述してしまうと、
$recordという変数を探して、
名無しの変数なんてねえよ。とわめいたり、
素知らぬ顔で空データ返してくれるPHPを見てると
ちょっと萌えるよね。
こんな技法滅多に使わないけど。

275:nobodyさん
12/01/05 16:19:40.25
自分でフレームワークライクなもの書いたりする場合によく使うよ
/hoge/fugaというアクセスはclass hogeのfugaメソッドを実行とかね
どんな名前でアクセスしてくるかわからないものを一箇所で処理しようと思ったら便利でしょ

276:nobodyさん
12/01/05 16:26:11.82
つか、>>262のクラスひどくね?w

>if ($limit) return array_slice($this->record, $offset, $limit);
クエリ発行時点でoffsetとlimitつけとけよ…
これごっそりレコード取って後から切り出してるだろ
とりあえずこんなクソコード捨てちまえ

277:nobodyさん
12/01/05 19:28:56.82
>>267
ファンションを呼び出すなら$this->record()って書くだろうよ

278:nobodyさん
12/01/05 19:29:38.66 m/6w1Eth
mysql_queryに、複数のクエリを;で区切って実行したところ、エラーになりました
そこでクエリごとに分けて別々に発行すればOKでした。
phpMyAdminでは;で区切ったクエリを実行できるのですが、
これはphpMyAdmin側で複数のクエリに分割して実行しているのでしょうか?
それともこちらのプログラムミスでしょうか?

279:nobodyさん
12/01/05 19:31:31.15
プログラムミス

280:nobodyさん
12/01/05 19:40:52.08
>>278
今どきただのmysql使うなんて時代後れすぎですね
mysqliを積極的に使いなさい
そして○○_query系でsqlを実行するのは今すぐやめましょう
これからは○○_prepareを使いましょう
queryでsql実行してたら業務でやってる人たちに笑われますよ

281:nobodyさん
12/01/05 19:43:07.94
とりあえずマニュアル嫁
URLリンク(www.php.net)

mysql_query() は、 ひとつのクエリを送信します (複数クエリの送信はサポートしません)。

282:nobodyさん
12/01/05 19:45:35.06
>>279
適当にいうな
>>280
ありがとうございます
>>281
クエリのパースってmysql側でやるものだと思ってたのですが
そういうものなのですか
ありがとうございました

283:nobodyさん
12/01/05 19:46:47.22
>>280の言うようにmysqliのほうが速いしなにかと捗るぞ
mysqliのmulti_queryはマルチクエリ実行できるよ

ただ得意気に
>そして○○_query系でsqlを実行するのは今すぐやめましょう
>これからは○○_prepareを使いましょう
とか言ってると笑われるから注意な

すべてケースによるから自分で最適なコーディングを探すこと
エスケープやアプリに合わせたサニタイズも考えながらやって

284:nobodyさん
12/01/05 19:47:41.25
適当だったが、Sqlite3、PDOの関数では複数行の一括処理できるが。
Sqlite2の古い関数使うからダメなんだ。

285:nobodyさん
12/01/05 19:50:55.00
>>284
何言ってるのこのひと
SQLite関係ないでしょ
PDOの話もしてないし

286:nobodyさん
12/01/05 19:53:46.88
○○_prepareはわずかに速くなるだろうが大差ない。
ボトルネックでないだったら直に送信した方がソースは短くて済む。
決定的な差になるのはトランザクション指定。

287:nobodyさん
12/01/05 19:54:50.31
ほんとだ。データベースは主にSqliteを使うからそれだけの様な気になってた。

288:nobodyさん
12/01/05 19:55:28.06

バカだwwwwwwwwwwww
prepare使うのは速度のためじゃねえよwwwwwwwwwwwww

289:nobodyさん
12/01/05 19:58:19.19
だからケースによるだろう
そもそもprepareは速く実行するためのものじゃねーし
エスケープを機械的にほぼ保証してくれるから使えるところでは極力使うべき

おまえ>>269,>>284だろ
ずっと明後日の方向見ながらレスしてるぞ
知ったかぶりにも程があるぞ

290:nobodyさん
12/01/05 21:07:49.16 m/6w1Eth
mysqliについて調べ始めました
二種類のモードのうちMYSQLI_USE_RESULT
というのが、従来のmysqによる結果セットと同じなのかなと思うのですが

URLリンク(php.net)
クライアント側で 大量の処理を行う際は、mysqli_use_result() を 使用すべきではありません。
なぜなら、この関数はサーバとの接続を保持 し続け、取得しているデータに関連するテーブルについて、
他のスレッドから 更新ができなくなるからです。

と書いてありました。
これは接続が保持されている間はテーブルがロックされるということでしょうか?
結果セットはテーブルとは別の領域に作成されるのだから奇妙な処理に思えますが
どういうことなのでしょう
今までのmysql関数でも、接続が保持されている間はテーブルがロックされていたのでしょうか?


291:nobodyさん
12/01/05 21:17:34.84
>>290
これ
>バッファに取得しないで結果オブジェクトを返します。 エラー時には FALSE を返します。

バッファに取得しないってことはなんらかの方法で現状をキープする必要があるでしょ
テーブルロックしてるかどうかしらんけど、してる可能性は高いよ

だからバッファリングしてから使うべき(このメソッドはあまり使うべきではない)ってことになるんじゃね

292:nobodyさん
12/01/05 21:19:13.82
PHPのお馴染み特定厨さん降臨キタ-ーーーーーーー!

293:nobodyさん
12/01/05 21:29:46.87
>>290
ちなみに
>二種類のモードのうちMYSQLI_USE_RESULT
>というのが、従来のmysqによる結果セットと同じなのかなと思うのですが
こういう変な固定概念的なものは取り払って素直にゼロから学習しなさいな
じゃないと自分の思うようにいかないことばかりでイライラすることになるよ
一応mysqliでSELECTを投げる場合の標準的な手順だけ
1. プリペアドステートメントセット
2. クエリ実行
3. 結果オブジェクト取得
4. オブジェクトから結果(レコード)取得
概ねこんな感じ

294:nobodyさん
12/01/05 21:32:31.52
>>291
データ取得している間中ロックするとか
なんかありえない処理に思えるのですが・・・
同時に一人しか同一テーブルを読めないってことでしょう
いやありえない
mysqliがおかしいのか
今までも実はそうだったのか・・・

295:nobodyさん
12/01/05 21:35:54.28
>>294
>>293読んでね
で、他にメソッド色々あるでしょ?マニュアル熟読してみてよ
しかも読めないとは書いてないじゃん、更新できないとは書いてあるけど
イロイロと勝手にわかったフリするのは学習の妨げになるよ

296:nobodyさん
12/01/05 21:43:24.56
>>293
プリペアドステートメントを使う以外は従来と同じですね
あまり気にせず、
データが巨大な場合はmysqli_store_result
そうでない場合はmysqli_use_result
を使っておけばいいのかなぁ

297:nobodyさん
12/01/05 21:52:18.06
>>291を理解できるまで何回か読んで考えてみたら
バッファリングせずにデータを読みたい場合とバッファリングしてからデータを扱いたい場合で変わってくるでしょう
前者はクエリを投げた時の状態を固定したままにしておきたいような場合に使えるでしょう
後者は別にデータ取得直後に変更が加えられても問題ない場合に使える
通常どちらを使えば良いかは考えなくてもわかるよね

>データが巨大な場合はmysqli_store_result
>そうでない場合はmysqli_use_result
どうしてこういう考えに至ったのかオレにはわからんけど、マニュアルの読解力もしくは理解できるまで辛抱強く読む努力が必要だと思うよ
なんとなくわかった気になるのが一番マズイ

298:nobodyさん
12/01/05 22:42:32.96
…prepareは本来パフォーマンスをあげるためのものだよ。
何でもかんでも使えばいいってもんでもないけど。

299:nobodyさん
12/01/05 22:48:03.29
>>286>>298は同一じゃん
おまえわかりやすくていいけどいい加減うぜーよ
しかもおまえ上で暴れてたニートのおっさんじゃん

300:298
12/01/05 22:51:18.40
>>299
証明ができなくてすまんが、おっさんにレスをしてた>>202とか>>232は俺ね。

301:nobodyさん
12/01/05 22:54:20.43
>>299って同一認定レスしかしてないんだろうか

302:nobodyさん
12/01/05 23:00:39.07
「PHPでは出来ないのですね、言語を切り替えます」が口癖のニートおっさんはネタさがし中じゃない?

303:nobodyさん
12/01/05 23:10:21.50
釣れる魚がいる間しか釣りをしないんだろう。
そういう意味ではおっさんの方が釣られる魚(>>289とか)より賢い。

304:nobodyさん
12/01/05 23:17:52.42
>>303
だから気づけよおっさんwww
わかりやすすぎだろw

305:nobodyさん
12/01/05 23:18:41.31
>>297
むしろあなたの方がだいぶ頓珍漢なこと言ってると思うけど・・

306:nobodyさん
12/01/05 23:19:45.77
>>304
まさかの句読点マスター?

307:nobodyさん
12/01/05 23:21:33.78
知っているのか雷電

308:nobodyさん
12/01/05 23:22:45.03
釣りってのは能力の高い人間にしか出来ないわけで、ニートおっさんがやってるのは自爆ショー
常人だったら死にたくなるレベルの赤っ恥でも、それに気付く能力が無いので無敵とも言える

309:nobodyさん
12/01/05 23:25:35.71
エスケープを保証してくれるって言っても
自分でdbクラス書く時はもともとそういう風に書くし、
mysqliって言うほど良くなくね
明確なメリットが見えてこない

310:nobodyさん
12/01/05 23:26:02.65 YvCiXMC9
しかしこのスレはよく釣れるなあ!

311:nobodyさん
12/01/05 23:28:08.68 YvCiXMC9
>>232

312:nobodyさん
12/01/05 23:33:10.88
>>309
だから主目的はパフォーマンスにあるんだって。

313:nobodyさん
12/01/05 23:37:21.48
mysqli_stmt::bind_param

注意:
データのサイズがパケットサイズの最大値(max_allowed_packet)を こえた場合、types に b を 指定して
mysqli_stmt_send_long_data() を使用し、 データをパケットに分割して送信する必要があります。

とか。
これ便利になってなくね
変な制限があちこちに加わってるんだけど。
本当にいいものなのかこれは?

314:nobodyさん
12/01/05 23:44:12.21
プリペアドステートメントで得られるパフォーマンスメリットって
「同じプロセスの中でほぼ同じクエリを何度も発行する場合」だけでしょ?
そんな処理がほとんどないと思う

315:nobodyさん
12/01/05 23:45:29.12
mysql_queryなんてつかわねえからwwwwwwwwwwwwww
だからRubyやPythonにPHPはなめられるんだってwwwwwwwwwwwwwwwwwwwww
まあ止めはしねえよwwwwwwwwwwwwwwww
恥かくのはおめえらだからしらねwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww


316:nobodyさん
12/01/05 23:55:28.29
>>314
ないところにニーズは生まれない

317:nobodyさん
12/01/05 23:57:16.33
>>292 == >>315


318:nobodyさん
12/01/06 00:01:59.06
>>316
phpの場合そうでもないからなぁ
クソ実装が単にみんなに使われているからという理由で使われたりする

319:nobodyさん
12/01/06 00:33:30.11
それはお前が低レベルなだけだろ

320:nobodyさん
12/01/06 00:34:16.78
いやいやw
それはない

321:nobodyさん
12/01/06 01:17:56.10 egPD7RrR
dbに関連しての質問ですが、
コネクションプーリングはどうやればいいのですか?

322:nobodyさん
12/01/06 01:19:48.56
php関係ないw

323:nobodyさん
12/01/06 10:58:36.82 9fGZTwoM
勉強してはや半年。やっとPHPの基礎がわかってきた感じで
掲示板くらいならつくれるようになったんですが、もっと腕を上げたいです。
なにかいい勉強法はありませんか?
書店に並んでいるのはどれも入門書ばかりで物足りないです。
コードリーディングというのがいいらしいですが、おすすめはありますか?

324:nobodyさん
12/01/06 11:18:14.02
>>323
フレームワークで同じものが作れるようにする

325:nobodyさん
12/01/06 11:20:45.87
フレームワークより直の関数呼び出しの方が省メモリ・高速だしできるだけ使わない方が良い。
使った方が簡単で生産性がいいなら使っても良い。
アセンブラよりC/C++を使うようなものだ。

326:nobodyさん
12/01/06 11:23:14.96
>>323
それくらい慣れたと思ってる人を対象にした本って、
セキュリティメインに書いてる本くらい。
勿論読んでおくべきだけど、
他人のコードを解析するのが一番の勉強になる。
ZendFramework なんかは他のフレームワークと違って分解されることを前提としてるし、OOPな構造なんで、
解析もしやすいし、勉強にもなる。
ちいたんみたいな小さいフレームワークを解析するってのも、解析しやすいし、ためになる技法が結構集まる。

327:nobodyさん
12/01/06 11:43:21.25
>>325
趣味とか一人で制作するのならそれでいいよ

328:326
12/01/06 11:45:07.14
自作フレームワークちっくを作るのもおすすめ。
いままで作った関数とかから、応用性があるものを探し出して、
さらに実用的になるように修正して、プロジェクトに追加する。
ちょこっとそれで簡単なシステムを作って、
命名規則やディレクトリ位置などを確定させる。
フレームワークちっくの設定を定義するファイルも作って、細かい設定を変更できるようにする。
で、これとそれとあれを丸まんまコピーして、設定少し合わせれば、
別のサーバーで1からシステム作るのが楽になるぞ。
みたいなプロジェクトを作るのが目標。

329:nobodyさん
12/01/06 11:54:44.26 DYaNhYpb
質問です。クラスのメンバと、クラスの変数を同一視させる方法ありますか。

$queue = new QUE;
$queue->push(1,2,3);
$x = $queue->pop();
print_r($x);
print_r($queue); ←ここで{2,3}を表示させたい。


class QUE {
protected $queue = array();
function pop() { return array_shift ( $this->queue ); }
function push($x) { array_push( $this->queue , $x); }
}

330:nobodyさん
12/01/06 12:00:31.39
>>329
__toString()
マジックメソッド php5.2以上

331:nobodyさん
12/01/06 12:00:33.66 9fGZTwoM
>>325
ゆるゆるなCodeIgniterでならつくれます。
他のフレームワークも勉強してみます。

>>326
入門書かフレームワークの解説書かセキュリティの本という感じで
入門書クリアしたレベルの人の為の本が全くと言っていいほどないですよねorz
ちいたんなんて初めて知りました! これを読んで勉強してみようと思います。

>>328
なるほど。フレームワーク自作って面白そうですね。
やってみます。

ありがとうございます!

332:nobodyさん
12/01/06 12:01:12.09
>>329
そのまえにクラスの初歩を勉強しようや

333:nobodyさん
12/01/06 12:01:36.19 9fGZTwoM
>>331
× >>325
>>324
失礼しましたorz

334:nobodyさん
12/01/06 12:24:59.33 DYaNhYpb
>>330
サンクス。このようにできました。

$queue = new QUE;
$queue->push(1,2,3);
$queue->push(5);
$x = $queue->pop();
print_r($queue);


class QUE {
public $queue = array();
function pop() { return array_shift ( $this->queue ); }
function push() { $arr =func_get_args(); foreach($arr as &$x) $this->queue[]=$x; }
function __invoke() { return $this->queue; } }

335:nobodyさん
12/01/06 12:26:53.87 ZICr1WBy
WebPG歴半年の新米です。PG35歳説なんてむかしからありますが、
WebPGて横に幅広い知識が必要だと思いますし、立派な技術職だと思います。
PHPの熟練者(例えばこのスレの回答者の方々)って職にこまらないですか?

336:nobodyさん
12/01/06 12:30:42.42
俺は困ってないが、そんな個人的なこと聞いてどうする。

337:nobodyさん
12/01/06 12:33:55.87 ZICr1WBy
まだ未熟で先が見えないので自分のキャリアプランに不安を感じていまして。
webPGのキャリアモデルて調べてもあまり出てこない(業界の歴史が浅いから当然ですが)
ので聞いてみました

338:334
12/01/06 12:36:08.09 DYaNhYpb
334は、print_r($queue); ⇒ print_r($queue());でした。

339:nobodyさん
12/01/06 12:49:15.17
>>337
言語なんて必要に応じて使えなきゃ、先はないかもね。

340:nobodyさん
12/01/06 13:03:15.39
最近、知恵袋から出張にきてるボンクラ質問者と回答者が居座ってるね

341:nobodyさん
12/01/06 13:05:07.19
web系は古いものに固執しなきゃどうにでもなる。
モバゲーもスマホもSNSも結局大成功したじゃない。
で、そういうのに売れない時代から付き合ってたやつも、相当な利益出してるはずなんだ。
そういうこと。

342:nobodyさん
12/01/06 13:12:27.05
それは経営者の判断で雇われプログラマには関係ない。

343:nobodyさん
12/01/06 13:34:29.26
プログラマなんて40,50になって出来る職業じゃないんだからさっさと自分で稼げる形を作るのが普通
先なんてどうなるかわかりきってることだし
それをやらずに人生折り返し地点まできちゃった人はざまぁとしか言いようがない
諦めて吊るか別の仕事で細々とやっていくしかないでしょ

344:nobodyさん
12/01/06 14:52:28.30
プログラムを生産するのではなく、物理的なものを生産してプログラムで補助(ショッピングカート)するのが出来る男。

345:nobodyさん
12/01/06 14:57:03.63
確かに、元営業で「必要だから勉強した」ってのがいいもの作ったりするんだよね…

346:nobodyさん
12/01/06 15:35:47.70 GMZDyuPm
PHPで今流行のステマは作れますか?

347:nobodyさん
12/01/06 15:44:32.57
>>344
まさに俺。
カスタマイズや保守運営のコスト考えたら自分でやらなきゃしょうがないというだけだが。

348:nobodyさん
12/01/06 19:01:56.16
自分が作ってるものが、ただのソースなのか
なんかのサービスを作ってると思うかで大分違う。

349:nobodyさん
12/01/06 19:59:49.95 ISncG55/
【OS名】CentOS
【PHPのバージョン】5.3
【質問内容】
file_get_contents で任意のページを取得する際、
取得先のページがjavascriptの非同期通信でコンテンツを読みこんでいる場合に
その非同期通信が終わった状態を読みこむにはどうすればいいのでしょうか?
そのまま読み込むとコンテンツ内容が空のソースが返ってきてしまいます。

350:nobodyさん
12/01/06 20:09:24.54
>>349
空のソースでもユーザ側のブラウザが勝手に取りに行ってくれるんでない?
phpで非同期通信コンテンツ読み込みたいなら対象のxml読み込めばいいんじゃない?

351:nobodyさん
12/01/06 20:19:12.10
>>349
そもそもfile_get_contents()でjavascriptが実行できるわけないでしょう
どうしてもそれをやりたいならCentOSでブラウザを立ち上げてブラウザでソースを取得
方法はググったりググったりググッて

>>350
意味が分からないというか、あなたが理解していない

352:349
12/01/06 20:19:50.10 ISncG55/
>>350
取得したソースをいじくってから表示させたいのです。
取得対象はxmlではなく(たぶんphpで吐き出した)htmlです。

353:349
12/01/06 20:21:02.60
>>351
curlを使っても無理ですか?

354:nobodyさん
12/01/06 20:23:13.16
>>353
クライアントサイドスクリプトってなーにってところからググッて

355:nobodyさん
12/01/06 20:26:02.47
ASP.NET最強

356:nobodyさん
12/01/06 20:28:17.32
>>354
そうですよね、言われてみれば。
ブラウザに組み込まれていない生のjavascriptっていうもんがあれば行けそうですが。
現状、方法はないということで了解しました。

357:nobodyさん
12/01/06 20:31:44.53
>>356
>現状、方法はないということで了解しました。
どういうことなの
方法は教えたし


358:349
12/01/06 20:36:54.90
>>357
裏でブラウザを立ち上げるっていう方法しかない、それはいやだな、ということです。
あんまりカリカリしないでください。

359:nobodyさん
12/01/06 20:44:28.89
そか
じゃあ仕方ないな
どうせ人のフンドシでスモウを取るような事を考えてたんだろ
それ相応のスキルを身につけてから考えようぜ

360:nobodyさん
12/01/06 20:58:58.95
>>351
理解してないのはオマエだ

361:nobodyさん
12/01/06 21:01:28.18
自身で非同期通信をやってみれば原理がわかるんじゃない

362:nobodyさん
12/01/06 21:57:09.55
>>360
お前だよ


363:nobodyさん
12/01/06 22:14:44.34
>>362
javascriptを実行するのはクライアントのブラウザだってわかってる?

364:nobodyさん
12/01/06 22:18:39.17
>>363
おまえ>>349の質問の意味わかってねーじゃん
バカなの?ハゲなの?

365:nobodyさん
12/01/06 22:29:23.31
>>363
マジ痛すぎ

366:nobodyさん
12/01/06 22:33:05.28
>>364
とりあえず 「AjaxでxmlかJSONを読み込み表示する」 までやってみよう 話はそれからだ

367:nobodyさん
12/01/06 22:40:28.35
>>366
ほんと痛いなこいつ

368:nobodyさん
12/01/06 22:42:16.99
いつものおっさんじゃねーのw

369:nobodyさん
12/01/06 22:46:18.19
なるほど Ajax使ったことの無い人間がAjaxの質問に答えようとしたのか

370:nobodyさん
12/01/06 22:51:49.81
こっちが恥ずかしくなってきたw
なにこのなんともいえないキブンwww

371:nobodyさん
12/01/06 23:36:53.54
年末から変なの住み着いてこのスレも死んだな

372:nobodyさん
12/01/06 23:37:50.28
>>368
いつものおっさんではない オレはまだ0x二十代だ
いつものおっさんほど詳しくないし FWとかぜんぜん興味ない
どちらかというと 乗り手を選ぶカリカリチューンド悪魔のZ的なスーパーハードコーデイングが大好きです

>>370
大丈夫か? 顔が真っ赤だぞ
先に言っておくが つり宣言は敗北宣言だ もうちょっとがんばれ

373:nobodyさん
12/01/06 23:44:21.72
いや、トンチンカンで全く詳しくないからニートおっさんだと思われた訳で。

374:nobodyさん
12/01/06 23:46:20.18
まちがいないだろうな
かわいそうに思えてきた

375:nobodyさん
12/01/06 23:48:58.30
そもそも今の20代は悪魔のZなんてしらんしな

376:nobodyさん
12/01/06 23:55:22.02
ちなみに 我々はこのデバック方を"フィッシャープリンティング"と呼んでいる が IDが出ないスレではあまり意味が無い
おまえら 0x二十代の意味ばらすなよ

377:nobodyさん
12/01/07 00:00:22.48 CsZsKZfD
PHPでHadoopを作られた方いらっしゃいますか?
ちょっと難しくてお助けを・・・・。

378:nobodyさん
12/01/07 00:05:54.48
おっさんが来たか

379:nobodyさん
12/01/07 00:13:50.68
姉さん出番ですよ

380:nobodyさん
12/01/07 00:14:47.22
ずっとはりついてるよおっさんは

381:nobodyさん
12/01/07 00:41:56.83 CsZsKZfD
PHPでFacebookを作られた方いらっしゃいますか?
ちょっと難しくてお助けを・・・・。

382:nobodyさん
12/01/07 04:09:12.62
超初心者なんですが、Amazonの商品情報を取得したくて、PHPの入門関連の本を見ながら勉強してます。

URLリンク(www.bnote.net)
本や上記サイトをみながらAmazonの特定商品の情報は取得できるようになったのですが
現状ですとphpファイルに取得したい商品のasianをいちいち書き込んで保存して
URLリンク(xxxxxx)で表示しているので手間がかり使い勝手が悪いです。

URLリンク(xxxxxx)「商品のasian」'
のようにして、末尾のasianを変えるだけで、PHPファイルをいちいち弄らずAmazonの任意の商品情報取得したいんですが、
どのようにすればいいですか?

宜しくお願いします。

383:nobodyさん
12/01/07 04:09:55.44 WBJb+YlP
すいません。あげ忘れました。

384:nobodyさん
12/01/07 05:13:49.57
>>382
URLリンク(jp.php.net)

385:nobodyさん
12/01/07 10:13:48.06
>>349
Prototype.js使ってさ、
001.html
<script type="text/javascript">
function sendRequest(){
new Ajax.Updater($('date'),'hello.php');}
window.onload=sendRequest;
</script>
<body>
<span id="date">・・・</span><br/>
</body>

hello.php
<?php
$contents = @file_get_contents("somefile.html");
echo $contents;
?>

somefile.html
<html><head></head><body>
範馬勇次郎
</body></html>

っで、001.htmlに範馬勇次郎って表示させる的なこと聞いてるの?


386:nobodyさん
12/01/07 10:15:50.66
GETを理解してないのにAmazonのAPIが使えたところが謎だけど
その本とやらを窓から投げて1から学習したほうが身につきそうだな

387:nobodyさん
12/01/07 10:19:13.10
>>385
質問よく読めよ
しかもなんでprototype限定なんだよキョウビprototypeなんか使ってるやつほとんどいねーよ

file_get_contents()でURL叩いてそのページにjavascriptの実行結果まで返して欲しいんだけどって質問だろうが
それに対して>>351がfile_get_contents()でjavascriptを実行できるわけないだろって返してるし

388:385
12/01/07 10:19:30.15
>>349
コンテンツ内容が空って、~.phpがfile_get_contentsで~.htmlを取得
するから、この~.phpを非同期ができてないからエラーじゃないの?
つまり、php側でなく、Javascript側でエラーが出てるはず。

389:387
12/01/07 10:21:33.27
ミスった。388は385でなく387です。

390:nobodyさん
12/01/07 10:22:57.30
>>389
おまえなに成りすまししてんだよ
しねよ

391:nobodyさん
12/01/07 10:37:47.48
イ㌔

392:nobodyさん
12/01/07 10:42:39.51
的確な回答でてるしね>>351
バックグラウンドでブラウザとPHPで連携するしかないでしょ
PHPでjavascriptをパースして実行結果を導き出すって方法もあるかもしれないけど出口の見えない途方も無い作業になるし

393:349
12/01/07 10:57:05.96
いろいろありがとうございます。
>>351さんに言われたとおりphpからjavascriptの非同期実行結果込みのページを取得しようとすること自体がそもそも間違っていたので
こちらもjavascriptで取得することにしました。
取得先URLを準備して、iframeのsrcへ突っ込み、見事javascript実行結果状態のページがフレーム内に表示されました(当たり前ですが)。
さてこのiframe内のソースをphpに投げれば余裕じゃんと思ったのですが、別ドメインのiframe内ソースって取れないんですね。
ぬおー、なんだよ、目の前に表示されてるのにソース読めないとか、まじですか、というところで止まっています。
php関係ないですね。できそうでできないです。


394:nobodyさん
12/01/07 11:11:59.39
>>393
クロスドメインで簡単にゴニョゴニョできたらセキュリティ的にマズイでしょ
相当昔はできたけど今は簡単にはできないよ

395:nobodyさん
12/01/07 11:20:47.88
>>393
「攻撃対象サイトのAjaxが取りに言ってるxmlをfile_get_contentsで取得してphpで加工して自分サイトに表示させたい」
ということ?

396:nobodyさん
12/01/07 11:21:10.64
>>394
簡単にはできない、ということは、できるということですか?
iframeを入れ子にして孫から呼ぶみたいな説明も見かけたんですが理解できなかったです。

397:nobodyさん
12/01/07 11:23:45.08
>>395
だからおまえはなんでxml限定なんだよ
おまえが一から学習してこい
レベルが低すぎておまえ会話になってねーんだよハゲ

398:349
12/01/07 11:24:00.96
>>395
いえ、違います。あと攻撃でもないです。
取得対象のサイトは、コンテンツ部分を非同期で持って来ているんです。
普通にブラウザでアクセスすれば、loadingてきなのがクルクルしてて、1秒後くらいにコンテンツが表示されるっていうサイトです。
そのloadingが終わった状態をこちらで取得したいということです。

399:nobodyさん
12/01/07 11:29:03.85
>>398
ブラウザを操るか、ブラウザ動作を再現しろよ。確実にやるならJavaScriptが動作させられないと無理。

400:nobodyさん
12/01/07 11:30:02.72
>>398
対象のURL貼ったほうが早い

401:349
12/01/07 11:32:16.37
>>399
やっぱりそうなりますか。

402:nobodyさん
12/01/07 11:36:52.92
>>397
非同期で取得する対象って XMLとJSON以外で一般的なものってありますか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch