15/11/13 19:28:47.35 YRkhsUKe.net
>>976
> 多言語でも参考演算子は積むなって言われるやろ
いやだからそれは言われてないと俺は思うが。少なくともGoogleのC++/JavaScriptでは言及がない。
(PHPのは仕様が変だから禁止で妥当)
最近俺は>>959や>>967の方が見やすいと感じてるよ。
実際if文で書いたら、3つreturnが必要で、すべて読まなければならない。(3つreturnが書いてあるかどうかとかも)
三項演算子で書けば、最初にreturnが確定して、後は値だけになる。
俺は代入の時にもよく使っているが、それは左辺側が同一だと確定するから。
if文で書くと左辺が同じ変数かどうかを確認する必要がある。(タイポとかもあり得る)
if文だとなんでも書ける分、全部読む必要がある。
三項演算子だと最初に動作が確定、値についてはこれこれ、という書き方になる。
読む内容が減る分だけ楽になると思うが。
1007:デフォルトの名無しさん
15/11/13 19:33:19.19 hvMZ1Ugb.net
>>977
var_dump(mb_ereg_replace( '~' , '~', '(^~^)'));
>>973
> switchが緩い比較だとしても、事前に $v の型チェックをすればいいんじゃない。
実際その辺どうなんだろう?
とりあえず今 mt_rand() で取り出した数字を switchで3と比較して結果次第で別の文字を代入、三項演算子でも同様に、
というのを100,000回ほど交互に繰り返してみたら、三項演算子が 0.115sec、switchが 0.183secだった
$array[0]と$array['0']が全く同一だったりとか、php内部の変数の扱いは良くわからん
1008:デフォルトの名無しさん
15/11/13 19:38:25.02 hvMZ1Ugb.net
>>972
それ確か、サーバの500だかのエラー表示の中のApache Serverのシグニチャにphpが入ってたってやつ
要は当時2chのいずれかのサーバにmod_phpが入っていたというだけの話で、2chがphpで動いているかどうかは関係ない話
1009:デフォルトの名無しさん
15/11/13 19:53:06.21 D5Uq6av0.net
>>979
コーディング規約持ち出すと、return は関数末尾にひとつだけ、みたいなのに出くわしたことがある。
そういう体制では三項演算子を if で置き換えたら変数で受ける必要まで出てきて面倒だな。
なんにしてもコーディング規約に書いてあるならそうしなさいということんだけど、
php 以外で三項演算子について規定してるのって知らないな。
1010:デフォルトの名無しさん
15/11/13 20:22:08.01 9Z3jJmN8.net
規約によって言語の機能を禁止する行為が愚かだという流れから禁止していないだけであって、
問題ない範囲で使えよという行間がある。
分かりやすくいうとgotoは禁止すべきじゃないし、トリプルポインタだって禁止すべきじゃない。
1011:デフォルトの名無しさん
15/11/14 08:24:41.88 LUyUmkqN.net
>>980のテストは時間取得して代入するコストを減算してなかった、比較が1回だけだった、switch( true )法とifが無かった
2回比較3分岐で、switch, switch( true ), ()つけた二重の三項演算子, if分岐(, 無処理)で50万回ループしたらこの結果
switch: 0.48583 sec switch( true ): 0.47236 sec cond: 0.14173 sec if: 0.13103 sec
結論 switch使えねえ
前処理で型をチェックする前提なら普通のswitchでも予想外のバグはある程度抑制できるけど
やると煩雑になるし別途コストかかるし、switch( true )はそのコストがかからない点と見た目以外変わらない
だったら最初からif使えって話、何より遅い
1012:デフォルトの名無しさん
15/11/14 10:42:48.66 JEd33JqI.net
速度を重視するか可読性を重視するかにもよるんじゃない?
要件満たさないほど遅い場合にはボトルネックを見つけてから
そこを改善すればいいんだし。
1013:デフォルトの名無しさん
15/11/14 16:50:40.94 p29z202R.net
PHPで掲示板を作ろうと思ってるんだが、調べてみたらCGIってのが掲示板の主流みたいじゃないか
サーバー上で動作するプログラムで動的にHTMLを吐き出すって点ではどっちも同じみたいだけど、掲示板作成するならどっちつかった方がいいの?
1014:デフォルトの名無しさん
15/11/14 17:03:18.94 +bixUoUA.net
>>986
PHPにしとけば
それが完成したら他に手を出してみればいい
1015:デフォルトの名無しさん
15/11/14 17:06:16.05 ASkZSMfE.net
掲示板って動的にHTMLはくような事してんの?随分面倒な処理してるんだな負荷軽減?になるのか
1016:デフォルトの名無しさん
15/11/14 17:21:46.99 p29z202R.net
>>987
サンクス
PHPのやつは一応ある程度まで出来たんだが、ネットでオープンソースのCGI掲示板配布してたからそれを導入してちょくちょく弄ってった方が近いのかなと。。
CGIってのがよくわからんのだけど、プログラム言語?のことなの?
1017:デフォルトの名無しさん
15/11/14 17:33:32.70 uq7iZ3Y9.net
>>986
俺は余り詳しいわけではないが、多分今時はPHPの方が主流だと思うぞ。
当たり前だがPHPのオープンソース掲示板も配布されている。
てかむしろ、「今時CGIかよ」って馬鹿にされていたと思ったが。
1018:デフォルトの名無しさん
15/11/14 17:44:46.58 +bixUoUA.net
>>989
CGI ってのは webサーバ下で動く実行ファイルのことだと思えばいい。
webサーバはクライアントからのリクエストを受け、実行ファイルを起動してその出力をクライアントに返す。
だから言語は問わず、perl で書いても C で書いてももちろん PHP を利用しても実行ファイルになってさえいればいい。
いわゆる PHP と言うと、CGI みたいにいちいちプロセスとして起動されるわけじゃなく、webサーバプロセスで PHP が実行される感じで、CGI とは違う形態になってる。
PHP はそれそのものがテンプレートエンジンみたいなもんだから webサーバとの協調に馴染む。
1019:デフォルトの名無しさん
15/11/14 17:48:53.64 qxo7dVQH.net
>>982
車載系はそんなもんだよ
MISRAはつらい
1020:デフォルトの名無しさん
15/11/14 17:56:10.64 p29z202R.net
>>990
やっぱそうなんだ。
CGIってあんまり聞いたことなかったからやっぱり…
1から作ったしょっぼいしょっぼい掲示板捨ててオープンソース探してみるわ…
1021:デフォルトの名無しさん
15/11/14 17:57:24.92 p29z202R.net
>>989
実行ファイルってことは、さっき書いた「HTMLを吐き出す」ってことの意味がPHPと全然違うんだね;
すまんかった。
それなら何も考えずにPHPつかった方がダイレクトでいいってことか。
1022:デフォルトの名無しさん
15/11/14 18:06:58.50 +bixUoUA.net
>>994
どっちも基本的に HTML(とは限らずクライアントへ返したいものなんでも)を吐き出す処理を書くものだからそう変わらないよ。
CGI は webサーバと統合されるもんじゃないからインタフェースが簡単で、昔から使えたというだけ。
1023:デフォルトの名無しさん
15/11/14 18:09:03.53 bqWycdSK.net
>>994
PHPだって実行ファイルに出来ますし・・・・・
別に言語としてPHPを使いつつCGIとして実行だって出来る
所謂PHPはサーバソフトにmod_phpというPHPを処理するモジュールを組み込んでおいて, サーバソフトがmod_phpを使ってPHPを実行する。
対してCGIではmod_cgiというモジュールを使って, サーバが別プロセスを立ち上げて実行可能ファイルを実行する。
1024:デフォルトの名無しさん
15/11/14 18:55:31.32 p29z202R.net
なるほどねー
ガルちゃんみたいなスレッド式掲示板ぐらいならPHPで良さそうだな。
1025:デフォルトの名無しさん
15/11/14 19:00:57.36 AjDQR89s.net
次スレ
スレリンク(tech板)
1026:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています