[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/05 12:46 / Filesize : 234 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はID出して書き込みやがれ 115



1 名前:nobodyさん mailto:sage [2012/01/20(金) 05:43:23.62 ID:???]
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 114
kohada.2ch.net/test/read.cgi/php/1325437405/

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

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

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

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

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

789 名前:nobodyさん mailto:sage [2012/02/22(水) 01:42:23.62 ID:???]
今時体感できるほど遅いなら単にサーバがしょぼいだけだろ

790 名前:nobodyさん [2012/02/22(水) 01:44:59.53 ID:HjiaSrjv]
>>789
他の言語に比較して遅いです。
比較はJavaとPythonです。

791 名前:nobodyさん [2012/02/22(水) 01:46:11.48 ID:HjiaSrjv]
PHPもページ単位で処理が終わるものなら早いですが、
オブジェクト指向を始めると途端にパフォーマンスが悪くなるようです。

792 名前:nobodyさん [2012/02/22(水) 01:48:41.94 ID:HjiaSrjv]
>>789
ローカル環境でも遅いのでどうしようもありません。

793 名前:nobodyさん mailto:sage [2012/02/22(水) 01:54:46.01 ID:???]
じゃ窓からPCでも捨てればいいと思うよ

794 名前:nobodyさん [2012/02/22(水) 01:57:04.91 ID:HjiaSrjv]
PHPでセッションにオブジェクトを格納することは少ないのでしょうか?
アプリケーションスコープが無いのはわかっていますが、セッションはありますよね。
WordPressしかり、Cakeしかり、symfonyしかり、オブジェクト格納場所として
セッションは考えられていないようです。これが結果としDBへの
余分なアクセスを増大させているようです。

795 名前:nobodyさん [2012/02/22(水) 01:58:42.03 ID:HjiaSrjv]
>>793
たとえばOpenPNEが稼働しているサイトで機敏に動くところはありますか?
自分が知っている限り無いと思いますが・・・。

796 名前:nobodyさん mailto:sage [2012/02/22(水) 02:10:14.28 ID:???]
OpenPNE使ってるサイトなんて画像が多かったりコード量が多いサイトがほとんどだろ
なんでもかんでもPHPのせいにすればいいってもんじゃない

797 名前:nobodyさん mailto:sage [2012/02/22(水) 02:18:02.00 ID:???]
>>789
さすがにそれは無いわ。サーバがしょぼいの敷居がよほど高くなければ。



798 名前:nobodyさん [2012/02/22(水) 02:18:21.92 ID:HjiaSrjv]
>>796
書いていますが、デフォルトの状態ですでに重いのです。
一切カスタマイズしていない状態です。ちなみに3.6系の最新版です。
デバックモードで起動するとものすごい数のSQLクエリが発行されています。
>>794についてはどう思われますか?

799 名前:nobodyさん [2012/02/22(水) 02:20:08.85 ID:HjiaSrjv]
PHPのインタープリタが遅いのは承知していますが、
それ以上にクエリをムダに発行しているように思えるのです。

800 名前:797 mailto:sage [2012/02/22(水) 02:20:36.63 ID:???]
>>798
PHP部に限って言うならopコードキャッシュ使う。
DBアクセス数が多くて、コネクション生成コスト、クエリコストが原因で遅いのであれば、PHP自体の問題ではなくなる

801 名前:nobodyさん mailto:sage [2012/02/22(水) 02:21:25.34 ID:???]
本当にそれが無駄なのであれば改善すれば世界中の人に喜ばれるよ。

802 名前:nobodyさん mailto:sage [2012/02/22(水) 02:22:22.14 ID:???]
>>794についてはどう思われますか?

一人だけで使うなら別にいいんじゃね

803 名前:nobodyさん [2012/02/22(水) 02:23:07.36 ID:HjiaSrjv]
PHPのリソースの捉え方が非常に大雑把で困惑しています。

たとえばJavaであれば
1.アプリケーションスコープ
2.セッションスコープ
3.リクエストスコープ

以上の3スコープに欲するデータが無い場合のみDBへアクセスしますが、
CakeやWordPress、OpenPNEなどの場合はお構いなしに毎回DBへアクセス
しているのが不思議です。

804 名前:nobodyさん mailto:sage [2012/02/22(水) 02:26:05.08 ID:???]
>>803
Webサーバを複数使うことを想定してそうなってるわけじゃなくて?
設定とかで変えられないの?ってか、変えられないからそのように断定しているんだろうけれど。

805 名前:nobodyさん mailto:sage [2012/02/22(水) 02:30:02.12 ID:???]
>>803
ちなみに期待するレスポンスはどの程度で、現状はどれくらい?
同時接続クライアント数など、必要なものを列挙してほしい。ベンチの結果でもいい。

806 名前:nobodyさん mailto:sage [2012/02/22(水) 02:32:41.04 ID:???]
それがわからないから管を巻いてんじゃねえかな

807 名前:nobodyさん [2012/02/22(水) 02:40:30.48 ID:HjiaSrjv]
>>805
>>806
PHPの主要フレームワークやCMSのソースコードリーディングに基づき、
このスレを書き込みしています。実践というわけではありません。

気づいたことはオブジェクトの一時保存場所としてセッションが
使用されていないのが不思議なのです。だからSQL発行が非常に多い。
これはなぜですか?



808 名前:nobodyさん mailto:sage [2012/02/22(水) 02:41:22.45 ID:???]
>>807
>>804の1行目は理解できる?

809 名前:nobodyさん [2012/02/22(水) 02:43:20.60 ID:HjiaSrjv]
>>808
PHPは分散オブジェクトは対応していないのですか?

810 名前:nobodyさん mailto:sage [2012/02/22(水) 02:46:14.38 ID:???]
>>809
Javaのスコープの話が出てきた時点でこうなりそうな気はしていたが。

今後の話をわかりやすくするために「分散オブジェクトに対応する」というのがどういうことか伝えてもらえるかな。

811 名前:nobodyさん [2012/02/22(水) 02:50:27.92 ID:HjiaSrjv]
>>810
複数のコンピュータ間で同じオブジェクトを同一マシーン上で処理が済むことと同じようにすることですよね。

812 名前:nobodyさん [2012/02/22(水) 02:53:35.00 ID:HjiaSrjv]
OpenPNE,WordPress、CakePHPはセッションへオブジェクトを格納する設計になっていないのでしょうか?

813 名前:nobodyさん mailto:sage [2012/02/22(水) 02:54:02.25 ID:???]
>>811
それでいいのなら、対応してる。

814 名前:nobodyさん mailto:sage [2012/02/22(水) 02:55:12.88 ID:???]
>>812
ソースコードリーディングは諦めたの?

815 名前:nobodyさん [2012/02/22(水) 02:56:50.78 ID:HjiaSrjv]
>>812
なぜ同じクエリを何度も発行しているのでしょうか?
OpenPNE3.6系です。

816 名前:nobodyさん mailto:sage [2012/02/22(水) 03:00:29.37 ID:???]
いらなクエリをコメントアウトすればいいんじゃね?

817 名前:nobodyさん [2012/02/22(水) 03:02:33.49 ID:HjiaSrjv]
>>816
その論法で行くと全部コメントアウトになりますが・・・。

私の質問はPHPでは答えにくのでしょうか?



818 名前:nobodyさん mailto:sage [2012/02/22(水) 03:04:26.65 ID:???]
そろそろしんどい。

>>815, 817
繰り返すが、それが本当に無駄なら報告すれば多方面から感謝されるからそうしたらいい。

819 名前:nobodyさん [2012/02/22(水) 03:08:04.96 ID:HjiaSrjv]
>>818
そんなに大げさなことでしょうか?
OpenPNEを試されたことがありますよね?
デバックモードで起動するとSQL発行数がわかりますが、すごい量です。
これはなぜですか?と言っているだけです。だから遅いんじゃないでしょうかと。

820 名前:nobodyさん [2012/02/22(水) 03:09:29.52 ID:HjiaSrjv]
セッションにオブジェクトを格納しない理由があるのでしょうか?
昔はシリアライズのバグの話は聞いたことがありますが、さすがに今は解消しているはずです。

821 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:46.81 ID:???]
>>819
デバッグモードじゃなければ発行されないの?
何のために使われるクエリなのかは調べてないの?
OpenPNEは使ったこと無いよ。使ったこと無いならレスしないでっていうことなら喜んでレスやめる。

822 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:49.44 ID:???]
セッション切れるまでリソース保持とかどんな罰ゲーム

823 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:54.82 ID:???]
x86命令セット渡しても文句言いそうだな

824 名前:nobodyさん mailto:sage [2012/02/22(水) 03:11:44.08 ID:???]
どういう学び方をしたらこんなこじらせた頭になるんだ?

825 名前:nobodyさん [2012/02/22(水) 03:11:56.60 ID:HjiaSrjv]
>>821
デバッグモードで起動するとSQLクエリの発行数がわかります。

826 名前:nobodyさん [2012/02/22(水) 03:13:20.43 ID:HjiaSrjv]
>>822
それならそれでいいんです。
PHPでは罰ゲームレベルという理解でよろしいのですね。

827 名前:nobodyさん mailto:sage [2012/02/22(水) 03:13:21.46 ID:???]
こんなとこで使ったこと無い人相手にがんばるくらいならコード読み進めてみたら?



828 名前:nobodyさん [2012/02/22(水) 03:14:30.57 ID:HjiaSrjv]
結局のところ、
PHPではセッションにオブジェクトを格納するのは一般的ではないという結論ですね。

829 名前:nobodyさん mailto:sage [2012/02/22(水) 03:15:13.92 ID:???]
>>826
Javaだと放置セッションのリソースはいつ破棄されるの?

830 名前:nobodyさん mailto:sage [2012/02/22(水) 03:15:30.89 ID:???]
>>826
だから言っただろ
一人だけで使うなら別にいいんじゃね
って

831 名前:nobodyさん [2012/02/22(水) 03:15:45.98 ID:HjiaSrjv]
よくわかりました。道理でセッションが使用されていないわけだ。

832 名前:nobodyさん [2012/02/22(水) 03:16:55.71 ID:HjiaSrjv]
>>829
アプリケーションサーバーの設定による。
ただし、プログラムレベルでは細かく殺してリソースのムダ遣いを減らします。

833 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:02.95 ID:???]
他人のコードを読む時の絶望感といったら言葉にならない
らーらーらー ららーらー 言葉になら〜ない

834 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:23.17 ID:???]
PHPだけの問題じゃないでしょうに
Javaだって同じ事

835 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:48.03 ID:???]
>>832
PHPも一緒だよ。

836 名前:nobodyさん mailto:sage [2012/02/22(水) 03:18:45.31 ID:???]
基礎知識が足りなさすぎるだろ
もっと幅広く勉強しろよ

837 名前:nobodyさん [2012/02/22(水) 03:19:08.08 ID:HjiaSrjv]
もう大丈夫です。
PHPではセッションにオブジェクトを格納するのは一般的ではないということが
よくわかりました。



838 名前:nobodyさん mailto:sage [2012/02/22(水) 03:20:04.33 ID:???]
どういたしまして。

839 名前:nobodyさん [2012/02/22(水) 03:24:16.48 ID:HjiaSrjv]
セッションにオブジェクトを格納するのはPHPでは一般的では
ないとわかりましたが、それはPHPプログラマにとって尺に触ることでしょうか?

840 名前:nobodyさん [2012/02/22(水) 03:27:56.08 ID:HjiaSrjv]
尺に触ったのであればすみまんでした。特に悪気はありません。

841 名前:nobodyさん mailto:sage [2012/02/22(水) 03:30:45.46 ID:???]
癪に障るかってどういうことだろ。
たとえば一般的ではないことを強要されたら癪に障るかも知れないけれど。

842 名前:nobodyさん mailto:sage [2012/02/22(水) 03:38:58.82 ID:???]
もしかして煽ろうとしていたのか…?

843 名前:nobodyさん mailto:sage [2012/02/22(水) 03:57:13.25 ID:???]
>>840
キレてないっスよ
ペチパーキレさせたら大したもんスよ

844 名前:nobodyさん mailto:sage [2012/02/22(水) 04:52:15.14 ID:???]
PHPでC言語の実装するとか言ってたのはどうなったんだ?

845 名前:nobodyさん mailto:sage [2012/02/22(水) 06:32:14.02 ID:???]
PHPだからとかJavaだからとか関係ないから。
Webアプリケーションの設計の話でしょ。

846 名前:nobodyさん mailto:sage [2012/02/22(水) 07:41:18.69 ID:???]
>>795
JavaとPythonで比較してるなら、OpenPNEに相当するJavaとPythonで実装されたもので
機敏に動くものを知りたい。

847 名前:nobodyさん mailto:sage [2012/02/22(水) 08:55:42.21 ID:???]
もう大丈夫です。
PHPではセッションにオブジェクトを格納するのは一般的ではないということが
よくわかりました。



848 名前:nobodyさん mailto:sage [2012/02/22(水) 09:00:26.08 ID:???]
PHPでなくても一般的ではない

849 名前:nobodyさん mailto:sage [2012/02/22(水) 09:03:48.77 ID:???]
>>848
嘘つくなw

850 名前:nobodyさん mailto:sage [2012/02/22(水) 09:10:04.74 ID:???]
コネクションプーリングってのはそもそもアプリケーション鯖が対応してなければ使えない

851 名前:nobodyさん mailto:sage [2012/02/22(水) 09:13:27.28 ID:???]
>>850
当然。だからphpではコネプール不可。

852 名前:nobodyさん mailto:sage [2012/02/22(水) 09:15:30.80 ID:???]
セッションの話はどうでもいいが、openpneが激重なのは同意。
かなりヤバイレベル。バージョン2の時代はマシだった。

853 名前:nobodyさん mailto:sage [2012/02/22(水) 09:17:48.11 ID:???]
んでコネクションプーリングを実現するのにセッションが必要なんて
そんなヴァカな話があるのか

854 名前:nobodyさん mailto:sage [2012/02/22(水) 09:24:03.91 ID:???]
>>853
たしかに、唐突にコネクションプーリングの話は変だとは思った。
その逆も必要ないかと。
話の流れとは関係ないw

855 名前:nobodyさん mailto:sage [2012/02/22(水) 10:49:21.91 ID:???]
>>852
可能です。
以上。
↓次どうぞ

856 名前:nobodyさん [2012/02/22(水) 11:04:16.02 ID:yvJnpOho]
>>783
CGIじゃなくてモジュールで動作させれば早いと書いてあった。
今のところはCGIで動作の仕様になってる。

857 名前:nobodyさん mailto:sage [2012/02/22(水) 11:17:37.00 ID:???]
頭大丈夫 ?



858 名前:nobodyさん mailto:sage [2012/02/22(水) 11:27:57.48 ID:???]
もう手遅れかと

859 名前:nobodyさん mailto:sage [2012/02/22(水) 15:35:04.94 ID:???]
コネクションプーリングは言語レベルのサポートは無い。

860 名前:nobodyさん mailto:sage [2012/02/22(水) 15:37:33.90 ID:???]
Javaのようなオブジェクト指向言語では普通にオブジェクトをセッションへ格納する。

861 名前:nobodyさん mailto:sage [2012/02/22(水) 17:05:21.76 ID:???]
いいえアプリケーションで管理するのが普通です

862 名前:nobodyさん mailto:sage [2012/02/22(水) 17:34:31.83 ID:???]
setcookie();の挙動について悩んでいます
a.phpで
echo $_COOKIE['testvar1'];
var_dump($_COOKIE);
---
b.phpで
setcookie('testvar1', 'bbb') //a.phpでbbbが出力される
---
c.phpで
setcookie('testvar1', 'ccc') //a.phpでcccが出力されない
setcookie('testvar2', 'xxx') //a.phpでtestvar2自体が確認出来ない

と、以上のようにしてる時、b.php → a.php の順番でアクセスするとechoもvar_dumpも正常な結果を返すんですが、その後
c.php → a.php の順番でアクセスするとechoはbbbを返し、var_dumpは追加したtestvar2自体を返さずtestvar1のみbbbとして返します
※c.php自体の中で echo $_COOKIE['testvar1'];すればcccを返します。また、c.phpのsetcookie();の返り値は1です
※また、b.phpの中でクッキーに入れる値を変更した場合はa.phpで変更後の値が確認出来ますが
c.phpの中で値を変更しても上書きされません(c.phpの中での確認です)

ドメインは全て同じで、原因が全くわかりません
何か考えられる対処法やチェック箇所あるでしょうか?
申し訳ないですが、どなたかご意見お願いします

863 名前:nobodyさん mailto:sage [2012/02/22(水) 19:09:47.20 ID:???]
ブラウザを初期化する

864 名前:nobodyさん mailto:sage [2012/02/22(水) 19:28:43.76 ID:???]
ありがとうございました!

865 名前:nobodyさん mailto:sage [2012/02/22(水) 19:35:22.61 ID:???]
最近は、ID出さなくても答えて貰える様になったのか。
これがゆとりか。

866 名前:nobodyさん mailto:sage [2012/02/22(水) 19:44:07.26 ID:???]
ID指摘したかったら、回答しつつ、ID出すように促せよ。
IDID言うやつ、回答しないんだよな。

867 名前:nobodyさん mailto:sage [2012/02/22(水) 19:46:05.87 ID:???]
>>1



868 名前:nobodyさん mailto:sage [2012/02/22(水) 19:46:44.23 ID:???]
昨日のチェリーボーイが居ますね

869 名前:862 [2012/02/22(水) 20:41:14.26 ID:culdIBNJ]
すみません、今気づきましたID出してなかったです。すみませんでした
その後もブラウザ再起動などしてやったんですが
やはりc.phpでsetcookie();した値はc.php以外で確認出来ません
なんなんでしょうか?

870 名前:nobodyさん mailto:sage [2012/02/22(水) 20:44:30.18 ID:???]
>>869
問題が再現するコード出して

871 名前:nobodyさん mailto:sage [2012/02/22(水) 20:50:21.88 ID:???]
>>869
たぶんpath

872 名前:nobodyさん mailto:sage [2012/02/22(水) 21:49:26.94 ID:???]
HTTPのヘッダも確認してみれば

873 名前:nobodyさん mailto:sage [2012/02/22(水) 22:14:17.30 ID:???]
fastcgiの動作確認なのですが
php-cgi -b 127.0.0.1:9000 &
として
telnet 127.0.0.1 9000
とかでなんか叩いて動作チェックって出来るものでしょうか?



874 名前:862 [2012/02/22(水) 22:42:10.50 ID:culdIBNJ]
>>870-872
その後、全てのsetcookie()を setcookie('time', date('Y-m-d H:i:s'), 0, '/', 'example.com');として
有効時間、パス、ドメインを指定したところ解決しました
質問して良かったです、助かりました
本当にありがとうございました

875 名前:nobodyさん mailto:sage [2012/02/22(水) 22:51:44.23 ID:???]
いいってことよ

876 名前:nobodyさん mailto:sage [2012/02/22(水) 22:55:02.14 ID:???]
ほい

877 名前:nobodyさん [2012/02/22(水) 23:24:44.58 ID:qmf6D6+H]
get_included_files()に含まれてないファイルがrequire_onceで読み込まれないんですが、
原因としては何が考えられますか?



878 名前:nobodyさん mailto:sage [2012/02/23(木) 00:42:33.05 ID:???]
>>877
パス間違ってるとかパーミッションがマズイとか。
ちょっと情報少なすぎ。
warningかnoticeも出てないの?

879 名前:553 mailto:sage [2012/02/23(木) 01:24:46.92 ID:???]
含まれていないんだから、読み込まれないのは問題無いだろw

880 名前:nobodyさん mailto:sage [2012/02/23(木) 02:36:14.38 ID:???]
CakePHPは重いですね

881 名前:nobodyさん mailto:sage [2012/02/23(木) 02:52:55.61 ID:???]
マシンパワーアップしようぜ
i7っでサックサクにしようぜ

882 名前:nobodyさん mailto:sage [2012/02/23(木) 07:04:30.49 ID:???]
>>879
ん?

883 名前:nobodyさん mailto:sage [2012/02/23(木) 11:23:14.79 ID:???]
>>880
同意。WordPressも激重。

884 名前:nobodyさん mailto:sage [2012/02/23(木) 11:28:18.18 ID:???]
スレチ

885 名前:nobodyさん mailto:sage [2012/02/23(木) 11:29:42.88 ID:???]
チッ

886 名前:nobodyさん [2012/02/23(木) 11:35:04.06 ID:GMJguUp1]
セッションを利用したログイン認証について質問です。
ログインページでは、ID(メアド)とパスワードの一致をもって、認証OKとしています。
その後、各ページでは何をもって認証OKとすれば良いのでしょうか?

入門書では、
1.ログイン時に、各ユーザー情報をセッションに保持し、各ページでは、それがあれば認証OKとする。
2.ログイン時に、暗号化した認証キーを作成してセッションに保持し、各ページで再度、認証キーを作成し、セッションの認証キーと照会する。
3.ログイン時に、セッションID(session_id())をセッションに保持し、各ページでは、そのページでのsession_id()と照会する。

などの方法を確認しました。個人的には、1の方法で足りると思うのですが、2や3の方法のほうがセキュリティーは高まるのでしょうか?

887 名前:nobodyさん mailto:sage [2012/02/23(木) 12:26:00.63 ID:???]
ログインフラグだけで十分



888 名前:877 [2012/02/23(木) 13:56:23.63 ID:QQ9YytJp]
>>878
パスは間違ってないようです パーミッションもちゃんと644になってます
直接関わるwarning・noticeは出ていないようです

情報が少なすぎるとのことなので問題の背景を説明します

レンタルサーバでXOOPSを使いサイトを運用しています
ある日すべてのページが500 Internal Server Errorになるようになりました
"php_flag magic_quotes_gpc Off"とだけ書かれたXOOPS_ROOT_PATH/.htaccessがあったのでこれを削除したところ、
だいたいのページは元通り見られるようになりました

しかし、管理メニューの互換モジュールで
Fatal error: Class 'Legacy_ActionFrame' not found in XOOPS_ROOT_PATH/modules/legacy/admin/index.php
とエラーが発生します
該当する.phpファイルではそのクラスを定義しているXOOPS_ROOT_PATH/modules/legacy/class/ActionFrame.class.phpをrequire_onceしているようなので、
このファイルにでたらめな文字列を書き足してSyntax errorを期待したのですが結果は変わりませんでした
また、require_onceの下にvar_dump(get_included_files());を書き足しても、このファイルは含まれていませんでした
以上にもかかわらず、require_onceの戻り値は1( != FALSE)でした

どうすればこのファイルはrequire_onceで読み込まれるようになるでしょうか?
よろしくお願いします


889 名前:nobodyさん mailto:sage [2012/02/23(木) 14:11:01.61 ID:???]
>>886
どんな入門書読んだのか知らんが、2と3は明らかにおかしなこと言ってるぞ。
もう一回しっかり読め。
セッションとクッキーは別物だということを頭に置いてな。

890 名前:nobodyさん [2012/02/23(木) 15:06:37.39 ID:pOv6kBFH]
smp.tsv
あああ\\t2012.01.23\\tききき\\n
いいい\\t2012.01.23\\tくくく\\n
ううう\\t2012.01.23\\tけけけ\\n
えええ\\t2012.01.22\\tこここ\\n
おおお\\t2012.01.22\\tさささ\\n
かかか\\t2012.01.21\\tししし\\n

今日 = 3
昨日 = 2
一昨日 = 1

このような値を取り出したい場合はどのような手順になるのでしょうか?
よろしくおねがいします。

891 名前:886 [2012/02/23(木) 15:11:52.08 ID:AL17q7mx]
>>887 889 レスありがとうございます。
3.のコードです。関数化されてます。
これは間違いなのでしょうか?

<?php
##### セッションの開始
function session_idset() {
  session_start();
  $_SESSION['auth'] = session_id();
}

##### セッションのチェック
function session_check() {
  session_start();
  $rtn = TRUE;
  if($_SESSION['auth'] != session_id()) {
    $rtn = FALSE;
  }
  return $rtn;
}
?>

892 名前:886 [2012/02/23(木) 15:23:33.04 ID:AL17q7mx]
2.のコードです。これもおかしいですか?

//セッションの開始
$_SESSION['login_id'] = $_POST['login_id'] ;
$_SESSION['auth'] = md5($salt . $_POST['login_id']) ;

//セッションの確認
function auth() {
  global $salt;
  if (md5($salt . $_SESSION['login_id']) == $_SESSION['auth'] ) {
    return TRUE;
  } else {
    return FALSE;
  }
}

893 名前:nobodyさん mailto:sage [2012/02/23(木) 16:00:34.17 ID:???]
1〜3は比較する情報が違うだけでやってること同じじゃん

894 名前:nobodyさん mailto:sage [2012/02/23(木) 16:26:52.69 ID:???]
おかしいというか、扉に同じ鍵で開く鍵穴が2つあるみたいなもん。
やるんであれば、例えば、ランダム文字列を生成してクッキーに保存
その文字列をハッシュかけてセッションに保存
確認のときはクッキーのデータにハッシュかけたものとセッションのデータが一致するか
ってやればセッションハイジャックに対して少しは強くなりそう。

895 名前:nobodyさん mailto:sage [2012/02/23(木) 16:36:47.58 ID:???]
>>891
本当にその入門書がその通りに書いているなら今すぐ燃やして他の本から学ぶべきだな

>>894
効果のないものを初心者に教えるな

896 名前:nobodyさん mailto:sage [2012/02/23(木) 16:40:30.49 ID:???]
>>888
requireでは読み込めるってこと?

897 名前:894 mailto:sage [2012/02/23(木) 17:08:07.42 ID:???]
>>895
何で効果がないのか教えてくれ



898 名前:nobodyさん mailto:sage [2012/02/23(木) 17:22:52.85 ID:???]
>>897
もしかして、セッションファイルを一般ユーザが見られる場所に
保存するシステムを前提に、ローカルユーザからの攻撃対策の話をしてる?
それだと、サーバの設定を見直した方がいいような……

899 名前:nobodyさん mailto:sage [2012/02/23(木) 17:29:45.68 ID:???]
>>897
sidについて触れない時点でハイジャックには何の効果もないんじゃないの?それ

900 名前:nobodyさん [2012/02/23(木) 17:31:23.55 ID:sgcZLa3B]
>>899
セッション固定攻撃に対しては効果があると思うけど。

901 名前:nobodyさん mailto:sage [2012/02/23(木) 17:38:14.99 ID:???]
何で効果があるのか教えてくれ

902 名前:nobodyさん mailto:sage [2012/02/23(木) 17:39:09.99 ID:???]
>>890
一行読んで、\tで分けて、二つ目の要素の日付調べて、該当する日のカウント増やす

903 名前:886 [2012/02/23(木) 17:59:29.91 ID:+MEbH08X]
1.のコードです。遅れてすみません。
やはり、このシンプルなコードが妥当なのでしょうか?

//$rowにDB取得データ代入済み
// ログイン情報を記録
$_SESSION["login"] = array("user_id" => $row["user_id"]," login_time" => time())

// ログインしているかどうか調べる関数
function is_logined() {
   return isset($_SESSION["login"]);
}

904 名前:nobodyさん mailto:sage [2012/02/23(木) 18:09:26.05 ID:???]
>>890
fgetcsv
array_count_values

905 名前:894 mailto:sage [2012/02/23(木) 18:21:05.98 ID:???]
>>898
仮にセッションIDが漏れた場合とか想定してるんだけど。
セッションIDだけじゃなくて、発行時のクライアントのチェックとして有効じゃない?
886の対案として出してるだけだから、ベストの方法とは思わんけど。

>>899
論点がぜんぜん違う

906 名前:nobodyさん [2012/02/23(木) 18:24:58.57 ID:pOv6kBFH]
$lines = file($tsv);
for($i = 0; $i < count($lines); $i++){
list(,$day,,)=explode("\t",$lines[$i]);
$today = date("Y.m.d");
$match_tday = preg_match("/$today/",$day);
}

今一歩前へ進めません。次のヒントお願いします。

907 名前:nobodyさん mailto:sage [2012/02/23(木) 18:41:27.89 ID:???]
PHPSESSID決め打ちでそれだけが盗まれたら〜ってこと?



908 名前:nobodyさん mailto:sage [2012/02/23(木) 18:42:59.47 ID:???]
>>900
session_regenerate_id(true)で済む話だろJK…

909 名前:nobodyさん mailto:sage [2012/02/23(木) 18:49:26.85 ID:???]
>>906
$lines = file($tsv);
for($i = 0; $i < count($lines); $i++){
list(,$days[],,)=str_getcsv($lines[$i],"\t");
}
print_r(array_count_values($days));

910 名前:877 [2012/02/23(木) 20:38:51.67 ID:QQ9YytJp]
>>896
試してみました
requireに書き換えると、多少崩れたページが表示され、
Fatal errorではなくなりました


911 名前:nobodyさん mailto:sega [2012/02/23(木) 20:40:13.32 ID:???]
session_registerって使っちゃまずいらしいけど
じゃあ代わりに何を使えばいいの?

912 名前:nobodyさん mailto:sage [2012/02/23(木) 20:54:09.81 ID:???]
>>911
非推奨なのを知ってるということは
マニュアルを途中まで読んだな?
もっと下まで読めば書いてあるだろw

913 名前:nobodyさん mailto:sage [2012/02/23(木) 20:57:03.04 ID:???]
最近は、ID出さなくても答えて貰える様になったのか。
これがゆとりか。

914 名前:nobodyさん mailto:sage [2012/02/23(木) 21:00:17.68 ID:???]
回答しない自治気取り君お疲れ様です。
俺、アンタみたいな人嫌いですw

915 名前:nobodyさん mailto:sage [2012/02/23(木) 21:10:37.40 ID:???]
お前が言うな

916 名前:nobodyさん [2012/02/23(木) 21:44:28.17 ID:P+2F5uLF]
正規表現で既に取得しているものは取らない方法はありますか?

<?php
$data=
ABCDABCD;
$match='/A|B/';
preg_match_all($match, $data, $matches[0]);
print_r($matches[0]);
?>

結果
Array ( [0] => Array ( [0] => A [1] => B [2] => A [3] => B ) )

これを、AとBをそれぞれ一つだけ取得したいです。 1回取得したものと同一のものは取得しない方法はありませんか?
preg_matchを2回使うと一応できるのですが、それだと

結果
Array ( [0] => A )
Array ( [0] => B )

このようにそれぞれ別になってしまいます。
何かやり方はないでしょうか?

917 名前:nobodyさん mailto:sage [2012/02/23(木) 22:13:07.95 ID:???]
print_r(array_keys(array_flip($matches[0][0])));

print_r(array_unique($matches[0][0]));



918 名前:nobodyさん mailto:sage [2012/02/23(木) 22:28:16.08 ID:???]
>>913
主気取り乙。ずっとこんなところにばかりいないで他いくといいとおもう

919 名前:nobodyさん mailto:sage [2012/02/23(木) 22:44:37.14 ID:???]
自己紹介おつ

920 名前:nobodyさん mailto:sage [2012/02/23(木) 22:48:53.56 ID:???]
>>866です。レスありがとうございました。
>>894さんの「おかしいというか、扉に同じ鍵で開く鍵穴が2つあるみたいなもん」
というご指摘で、2.3.のおかしな点がよく理解できました。

ランダム文字列クッキーを認証に利用する方法は、自分も考えたのですが、
XSSでJSによりクッキーを盗まれる場合には、セッションクッキーとともに
そのランダムクッキーも盗まれるので効果が無いと思いました。
また、セッション固定化攻撃には、>>908 さんのいうsession_regenerate_id(true)が
適切だと考えます。それとともに、php.ini、.htaccessでセッション付きリンクを
使用不可にするのがよいのかなと。

921 名前:nobodyさん mailto:sage [2012/02/23(木) 22:51:08.67 ID:???]
>>920
スレのルールは守ろうな

922 名前:886 [2012/02/23(木) 23:14:53.15 ID:NC9JkONA]
>>921 失礼しました。>>920 は886です。

923 名前:nobodyさん [2012/02/23(木) 23:58:21.36 ID:P+2F5uLF]
>>917ありがとうございます、できました。

924 名前:nobodyさん mailto:sage [2012/02/24(金) 00:05:55.32 ID:???]
ルール厨うぜー

925 名前:nobodyさん mailto:sage [2012/02/24(金) 00:12:55.29 ID:???]
>>924
スレのルールは守ろうな

926 名前:nobodyさん mailto:sage [2012/02/24(金) 00:25:39.45 ID:???]
おまえがいうな

927 名前:nobodyさん mailto:sage [2012/02/24(金) 07:08:08.38 ID:???]
守ってるじゃん



928 名前:nobodyさん mailto:sage [2012/02/24(金) 08:26:18.43 ID:???]
>>894
それ意味ないじゃん
ハッシュ化したところでクライアントの情報(そのハッシュ化したランダムな文字列)が盗まれれば意味がない
あとその処理自体にセッションハイジャックに強くなる要素が見当たらない

サーバ側でセッションハイジャックされないような対策を考える場合XSSだけに気をつければいい
結局ハイジャックされるかどうかはクライアント側の行動次第
リンクにセッション情報を含めないほうがいいのはクライアント側の行動次第では漏れる可能性が高いから
クライアント側がそれなりの知識を持ってるならリンクにセッション情報を含めても問題ない

929 名前:nobodyさん mailto:sage [2012/02/24(金) 08:36:25.74 ID:???]
>>873
自己解決しますた。
telnetじゃムリでした。
<? phpinfo(); ?>がスルーされたのがそもそもの発端だったんだけど、5.3.8と5.2.13ではshort_open_tagが違うんですね。
pukiwikiとかwordpressって律儀に<?php 〜 ?>ってやってるのかな?


930 名前:894 mailto:sage [2012/02/24(金) 09:27:38.22 ID:???]
>>928
前半の
>>ハッシュ化したところでクライアントの情報(そのハッシュ化したランダムな文字列)が盗まれれば意味がない
に関しては同意だけど、セッションIDとクライアントの情報を合わせて
盗まれなければ意味があるじゃん。
セッションIDだけ盗まれるってケースは意外とあると思うぞ。
>>920の言うようにクッキーまるごと盗まれたらしょうがないけど。

後半は同意できない。

931 名前:nobodyさん mailto:sage [2012/02/24(金) 09:38:18.08 ID:???]
実質的にセッションIDが漏れるってことはクッキーが漏れることと同義だろ
どこの実装もほぼ100%クッキーでやってるんだから

932 名前:nobodyさん [2012/02/24(金) 10:29:02.94 ID:BAbDqRA5]
eclipse3.7のphpで開発しているのですが、CVSからファイルを持ってきた時に文字化けをしてしまいます。
その為、使用するファイル(Sfit-JIS)を一つずつ選択し、プロパティーから文字化けしないUTF-8に変換しているのですが、
一括ですべてUTF-8にする方法はあるのでしょうか。
使用するフォルダ選択⇒プロパティー⇒リソース⇒テキスト・ファイルのエンコードから修正しても
だめでした。


933 名前:nobodyさん mailto:sage [2012/02/24(金) 11:10:06.07 ID:???]
>>930
それ同じこと思った。
なんでクッキーとセッションが別腹的な考え方なんだろ。
素人の俺にはわからん。
TLSかけるなりしてクライアントとPCの通信の盗聴防がなきゃ意味ない気が。

934 名前:nobodyさん mailto:sage [2012/02/24(金) 11:18:03.05 ID:???]
最新式の複雑な鍵を使ったとしても、
鍵盗まれたら困るってことの対策にはならんもんね。

935 名前:877 [2012/02/24(金) 12:51:09.28 ID:i01HfJfE]
>>877,888,910です
解決策ありませんか?

936 名前:nobodyさん mailto:sage [2012/02/24(金) 14:00:59.55 ID:???]
>>935
requireで読めたんならそれでいいだろ
2回以上読み込むファイルをrequire_onceで読み込むのがおかしい

937 名前:nobodyさん mailto:sage [2012/02/24(金) 17:03:51.32 ID:???]
>>932
>使用するフォルダ選択⇒プロパティー⇒リソース⇒テキスト・ファイルのエンコードから修正しても
だめでした。
それエクリプスの設定をUTFにしてるだけだし…

PHPでそのPHPファイルをfile_get_contentsで読み込んでエンコード変えて同じファイルに書き出すくらいじゃね?



938 名前:nobodyさん mailto:sage [2012/02/24(金) 18:34:59.75 ID:???]


939 名前:nobodyさん mailto:sage [2012/02/24(金) 20:44:15.85 ID:???]
>>929
毎回<?php って書いてるよ。
<?= とか便利かもって思ったこともあったけど、それが便利だと思える場面に遭遇しなくなった

940 名前:nobodyさん mailto:sage [2012/02/24(金) 20:51:14.32 ID:???]
コードアシストで解決

941 名前:nobodyさん mailto:sage [2012/02/24(金) 22:22:57.58 ID:???]
>>932
nkf使うとか。

942 名前:nobodyさん mailto:sage [2012/02/24(金) 23:20:35.88 ID:???]
$file_name="p/1.html"となってる時、
p/の部分だけを取り除いて、
$file_name2="1.html"とすることはphpでは可能ですか?

943 名前:nobodyさん [2012/02/24(金) 23:23:49.74 ID:gMrEIIb2]
$file_name="p/1.html"となってる時、
p/の部分だけを取り除いて、
$file_name2="1.html"とすることはphpでは可能ですか?


すいません、上げてました。

944 名前:nobodyさん mailto:sage [2012/02/24(金) 23:34:42.08 ID:???]
>>943
basename()がある

945 名前:nobodyさん mailto:sage [2012/02/24(金) 23:34:43.65 ID:???]
実際はディレクトリをのぞいてファイル名だけにしたいとかなんだろうけど
そんな質問の仕方だと
substrで三文字目以降を切り出せとか
p/を空文字に置き換えろとかいう答えが返ってくるぞ

946 名前:877 [2012/02/24(金) 23:48:54.24 ID:i01HfJfE]
>>936
requireで読むとFatal errorはなくなりますが、ページの表示が正常ではありません
2回以上読まれるかどうかは未検証ですが、
require_onceの前後のどちらでも、get_included_files()に該当するファイルが含まれないのは問題だと思います

947 名前:nobodyさん [2012/02/24(金) 23:51:09.90 ID:kLSGsgF4]
phpから現在動いているmtaが何か取得する方法ってありますか?
sendmailか否かさえ分かればいいのですが。



948 名前:nobodyさん [2012/02/24(金) 23:54:48.93 ID:gMrEIIb2]
>>944
ありがとうございました。
>>945
そうです、ディレクトリ名だけとっぱらいたかったんです。
なんか、適当に作ってたら、mysqlに入れた値が"p/1234.html"
となっていたんです。これはこれで表示されないデータなら
扱いやすいのですが、表示されるデータにディレクトリ名って
欲しいのか?という疑問にぶつかりました。basename()って便利な
関数ですね。

949 名前:nobodyさん mailto:sage [2012/02/25(土) 00:21:03.84 ID:???]
>>946
requireで読めて、require_onceで読めないファイルがあるってことだよね。
それがわかっているなら後は何が原因なのか、どんどんコードを削っていけばたどり着くと思うんだけど

950 名前:nobodyさん mailto:sage [2012/02/25(土) 00:55:13.78 ID:???]
>>947
Linuxなら、exec関数で "ps ax | grep sendmail" を実行して、その出力をチェックする

951 名前:nobodyさん [2012/02/25(土) 01:14:42.48 ID:a/GXX7hd]
メールを連続で送信する場合、マニュアルには、

>mail() 関数は、大量のメールをループ内で送信するには 向いていないことに注意しましょう。
>この関数は 1 通のメールを送信するたびに SMTP ソケットをいったん閉じて開きなおします。これは非効率的です。
>大量のメールを送信する場合は、 ≫ PEAR::Mail および ≫ PEAR::Mail_Queue パッケージを参照ください。

と記述してありますが、PEARを使いたくない場合、
ソケット関数で自分でSMTP処理を書くしか無いですよね?

952 名前:nobodyさん mailto:sage [2012/02/25(土) 02:43:21.75 ID:???]
実現できる方法でどうぞ。
「しか無い」ってのはよほどのことが無い限り無いと思ったほうが。

953 名前:nobodyさん mailto:sage [2012/02/25(土) 02:47:59.67 ID:???]
PEAR::Mail および PEAR::Mail_Queue で必要な箇所を参考・コピペする。

954 名前:nobodyさん mailto:sage [2012/02/25(土) 18:02:10.27 ID:???]
>>912
session_register()使う代わりに
$_SESSION に値をぶっこむのね
ありがとう!

955 名前:nobodyさん [2012/02/25(土) 18:56:47.63 ID:1lZdYX8R]
たとえばですが、
wire.jpというサイトがあります。
内容的には好きなんですが、相当重いサイトです。
こういったPHPで作られたサイトのパフォーマンスを
上げるためにはどうしたらよろしいでしょうか?

956 名前:nobodyさん mailto:sage [2012/02/25(土) 19:08:41.43 ID:???]
キャッシュでも作れば?

957 名前:nobodyさん [2012/02/25(土) 19:09:58.04 ID:r6BFdbus]
RSSからforeachで値を取得したのですが、それをループの外で一つの変数として扱いたいのですが、どうしたらいいでしょうか?

<?php
$array=array(1,2,3,4,5,);
foreach ($array as $value) {
$a=$value;
}
echo $a;
?>

例えばこのようにすると、当たり前ですが結果はループで上書きされて5と表示されます。
foreachで取得したものを一つの変数に入れることは出来ませんか?



958 名前:nobodyさん mailto:sage [2012/02/25(土) 19:25:22.22 ID:???]
>>957
よく分からんけど仮に3つ目の値が取りたいなら
echo $array[2];

959 名前:nobodyさん mailto:sage [2012/02/25(土) 19:53:18.83 ID:???]
>>957

print_r($array);
して表示結果を見てみなはれ

その上で$array[x] ←xのところに対応した数字をいれる。
で出てくる。

960 名前:nobodyさん mailto:sage [2012/02/25(土) 20:48:35.56 ID:???]
$a=$value;を $a[] = $value;

961 名前:nobodyさん [2012/02/25(土) 21:26:32.82 ID:r6BFdbus]
>>960ありがとうございます。

962 名前:nobodyさん mailto:sage [2012/02/26(日) 00:47:29.55 ID:???]
いいってことよ

963 名前:nobodyさん mailto:sage [2012/02/26(日) 00:48:27.77 ID:???]
ほい

964 名前:nobodyさん [2012/02/26(日) 00:52:26.79 ID:nCX4lbdW]
>>956
キャッシュとはどのようなキャッシュですか?

965 名前:nobodyさん [2012/02/26(日) 01:35:13.43 ID:nCX4lbdW]
キャッシュとは言語レベルのサポートですか?

wire.jpはWordPressみたいですから
WP Super Cacheプラグインみたいなプログラムレベルの
キャッシュのことを意味していますか?

966 名前:nobodyさん mailto:sage [2012/02/26(日) 01:42:08.72 ID:???]
( >д<)、;'.・ キャッシュン

967 名前:nobodyさん [2012/02/26(日) 01:47:59.96 ID:nCX4lbdW]
>>956
例としてあげてwired.jpはW3 Total Cacheが入っているようです。
それでも遅い場合はどうしたらよろしいのでしょうか?



968 名前:nobodyさん mailto:sage [2012/02/26(日) 01:48:34.31 ID:???]
>>966
bless you

969 名前:nobodyさん mailto:sage [2012/02/26(日) 01:53:36.51 ID:???]
Thank you!

970 名前:nobodyさん mailto:sage [2012/02/26(日) 01:58:30.12 ID:???]
phpでデータベースを扱うには、何かと方法がありますが
エクセルのシートで外部参照するみたいに、この列はこっちの
データベースから引っ張って、この列はこっちから
というように複数のデータベースから情報を引っ張って
統合して表示、または登録変更をするためには、どんな
方法を使うのが最も適しているのでしょうか?

971 名前:nobodyさん mailto:sage [2012/02/26(日) 02:07:02.73 ID:???]
>>967
オーバークロックしかないな

972 名前:nobodyさん [2012/02/26(日) 02:16:44.23 ID:oisclph1]
質問させてください。
自動返信メールの内容に値を持たせたいんですが
値の入っていないものは表示させないようにしたいです。

<?php
$MESSAGE = "
注文がありました。

商品    個数
[[りんご]]  [[1]]
[[みかん]]  [[0]]
[[ぶどう]]  [[3]]
";?>

実行すると

りんご1個
ーー(みかんの注文が0なので表示されず空白だけできてしまう)ーー
ぶどう3個

というメールが来てしまうで、みかんの部分を上に詰めさせたいです。

メールが来る仕組みなどは人がしたものなのでよく分かってません。
よろしくお願いします。


973 名前:nobodyさん mailto:sage [2012/02/26(日) 03:04:07.86 ID:???]
>>972
$cart=array("りんご"=>"1","みかん"=>"0","ぶどう"=>"3")

$MESSAGE = "注文がありました。\n\n商品    個数\n"
foreach($cart as $key => $val){
  if ($val>0){                          //$valが0以下の時は処理しない
    $MESSAGE.="[[$key]] [[$val]] \n"
  }
}

備考 POST情報はクライアント側で詐称できるので 値段を表示させる場合はPOSTさせないでDBに取りに行ったほうがいいと思うよ

974 名前:nobodyさん [2012/02/26(日) 03:34:02.05 ID:oyzRHeH9]
俺は自分でも結構オブジェクト指向イケてるんじゃないかと思ってたんだが、
今日クラスを作成していたときにクラス名に悩んで、
候補のものをググってたら、C#の同名のクラスが出てきたんだ。
どんなメソッドがあるのかな?とチラっとみてみたら、
俺がクラスに含める予定だった処理が別クラスで処理されていた。
徹底的に細かくオブジェクトを分けていることに俺はショックを受けて絶望した。
これが本当のオブジェクト指向なのかと。
自信が一気になくなった俺はこれからやっていけるでしょうか?

975 名前:nobodyさん mailto:sage [2012/02/26(日) 04:34:33.44 ID:???]
細かく分けることがオブジェクト指向・・・?

976 名前:sage mailto:sage [2012/02/26(日) 09:48:27.16 ID:???]
>>974
そもそも論として
phpでオブジェクト指向実装は後付けの中途半端だし、
最適化されていないのでパフォーマンス悪いよ。

それだったらJava、C#みたいな強制的オブジェクト指向言語で
勉強して方がいい。他の言語で役に立つから。

977 名前:sage mailto:sage [2012/02/26(日) 09:49:49.71 ID:???]
>>975
PHPerから見ると、
オブジェクト指向言語のクラス設計はすべてが細かく見えるかと。



978 名前:nobodyさん mailto:sage [2012/02/26(日) 10:03:42.64 ID:???]
他の言語って、これからいくつ覚えるつもりだよ
一生勉強ってかw

979 名前:sage mailto:sage [2012/02/26(日) 10:15:37.18 ID:???]
>>978
これからもphpオンリー?
スマホアプリとか大丈夫?

サーバーサイドオンリーの人だとしても、
phpだけだったら守備範囲が狭くならないかい?

たとえばfacebookみたいに

phpで作りました。

でもユーザー増えて負荷に耐えられなくなりました。

基幹をC++やJavaに切り替えました。

というケースは無いの?

980 名前:nobodyさん mailto:sage [2012/02/26(日) 10:22:20.60 ID:???]
>>977
そこが本質じゃないのにね

981 名前:nobodyさん mailto:sage [2012/02/26(日) 10:29:56.54 ID:???]
一生勉強って当たり前だろ

982 名前:nobodyさん mailto:sage [2012/02/26(日) 10:34:22.17 ID:???]
いや本質だろ。
継承や再利用を考えると重要。

それより次スレ

983 名前:sage mailto:sage [2012/02/26(日) 10:38:06.83 ID:???]
そもそも論として、
細かく設計するとPHPの場合すぐパフォーマンスが悪くなる。
いずれにしてもPHPのオブジェクト指向は中途半端で使いにくい。

984 名前:nobodyさん mailto:sage [2012/02/26(日) 10:39:22.25 ID:???]
例えばチャットクラスで
書き込みを行うwriteというメソッドがあったとする

PHPerの場合
ここに渡す引数はString型の$messageである

C#erの場合
ここに渡す引数は別クラスで作成したメッセージオブジェクトである

985 名前:nobodyさん [2012/02/26(日) 11:12:49.13 ID:yp5CCX+k]
メールアドレスの「@」より前を取得したいんですけど、自分では
$tmp = explode('@', $email);
$name = $tmp[0];
という書き方しか思い浮かびません。
もっと簡単にできる方法があれば教えて頂きたいです。

986 名前:nobodyさん mailto:sage [2012/02/26(日) 11:18:26.38 ID:???]
echo substr($email, 0, strpos($email, "@"));
複数行になるのが簡単ではないと考えてるなら考えを改めるべし

987 名前:nobodyさん mailto:sage [2012/02/26(日) 11:28:57.23 ID:???]
四年前の爺さんの背広からメガビックボーイが出てきたんだが
一生現役ってことを考えると一生勉強くらい普通だと思った。



988 名前:nobodyさん mailto:sage [2012/02/26(日) 11:31:05.44 ID:???]
preg_replace("/(?=@).*/","",$mail);
とか

explodeでいいと思うけどな

989 名前:nobodyさん mailto:sage [2012/02/26(日) 11:34:48.98 ID:???]
replaceだと元データのメアド使えなくなるやん

990 名前:sage mailto:sage [2012/02/26(日) 11:35:02.59 ID:???]
勉強したくないなら
なぜ潰しが効かない、汎用性が低いphpなのか不思議。
汎用性が高い言語選べばよかったのに。

991 名前:nobodyさん mailto:sage [2012/02/26(日) 11:39:39.13 ID:???]
どの言語でもできることとできないことがある
1つの言語習得すれば金輪際勉強せずに済む言語なんて皆無

992 名前:nobodyさん mailto:sage [2012/02/26(日) 11:46:01.70 ID:???]
>>980
>>1

993 名前:nobodyさん mailto:sage [2012/02/26(日) 11:49:03.94 ID:???]
しょうがないから建ててくるか

994 名前:nobodyさん mailto:sage [2012/02/26(日) 11:52:02.39 ID:???]
kohada.2ch.net/test/read.cgi/php/1330224598/

995 名前:nobodyさん [2012/02/26(日) 11:56:49.85 ID:yp5CCX+k]
>>986
ありがとうございます。助かりました。
複数行というより、わざわざ配列にするのが気持ち悪くて…。

996 名前:sage mailto:sage [2012/02/26(日) 12:01:13.12 ID:???]
>>974
phpのオブジェクト指向はなんちゃってレベルだから。
他の言語ではphpの経験は生かせないよ。

997 名前:nobodyさん mailto:sage [2012/02/26(日) 12:03:36.76 ID:???]
そいういうこと書いてるようじゃ
大してオブジェクト指向の考えというのを理解できてないな



998 名前:nobodyさん mailto:sage [2012/02/26(日) 12:08:49.02 ID:???]
>>996
>phpのオブジェクト指向
どれだけあほなこと言ってるかわかるか?もっと勉強しろ。

999 名前:sage mailto:sage [2012/02/26(日) 12:24:07.98 ID:???]
phpのオブジェクト指向機能の実装

1000 名前:sage mailto:sage [2012/02/26(日) 12:25:05.67 ID:???]
PHPer、ダメポ。

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<234KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef