【PHP】フレームワークについて語るスレ13【総合】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2009/03/24(火) 01:21:08ID:???●国外産●
symfony
ttp://www.symfony-project.com/
code igniter
ttp://codeigniter.com/
Zend Framework
ttp://framework.zend.com/manual/ja/index.html
CakePHP
ttp://www.cakephp.org/
Yii Framework ←New!! (Dec 03, 2008)
ttp://www.yiiframework.com/
●国産
ちいたん
ttp://php.cheetan.net/
Ethna
ttp://ethna.jp/
guesswork
ttp://classic.guesswork.jp/
maple
ttp://kunit.jp/maple/
●前スレ
【PHP】フレームワークについて語るスレ12【総合】
http://pc11.2ch.net/test/read.cgi/php/1229960175/
0002nobodyさん
2009/03/24(火) 01:21:47ID:???【PHP】フレームワークについて語るスレ12【総合】
http://pc11.2ch.net/test/read.cgi/php/1229960175/
【PHP】フレームワークについて語るスレ10【総合】 ※実質11
http://pc11.2ch.net/test/read.cgi/php/1219581817/
【PHP】フレームワークについて語るスレ10【総合】
http://pc11.2ch.net/test/read.cgi/php/1202521438/
【PHP】フレームワークについて語るスレ9【総合】
http://pc11.2ch.net/test/read.cgi/php/1197383840/
【PHP】フレームワークについて語るスレ8【総合】
http://pc11.2ch.net/test/read.cgi/php/1192604501/
【PHP】フレームワークについて語るスレ7【総合】
http://pc11.2ch.net/test/read.cgi/php/1181350116/
【PHP】フレームワークについて語るスレ6【総合】
http://pc11.2ch.net/test/read.cgi/php/1171896620/
[PHP]フレームワークについて語るスレ5[総合]
http://pc10.2ch.net/test/read.cgi/php/1159579507/
[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/
[PHP]フレームワークについて語るスレ3[総合]
http://pc8.2ch.net/test/read.cgi/php/1145971945/
[PHP]フレームワークについて語るスレ2[総合]
http://pc8.2ch.net/test/read.cgi/php/1135847024/
【PHP】フレームワークについて語るスレ【総合】
http://pc8.2ch.net/test/read.cgi/php/1123608068/
0003nobodyさん
2009/03/24(火) 01:28:21ID:???【PHP】フレームワーク CakePHP 6ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1236563737/
【PHP】 Smarty 隔離スレ 【テンプレート】
http://pc11.2ch.net/test/read.cgi/php/1201879269/
[PHP][フレームワーク]CodeIgniterスレ
http://pc11.2ch.net/test/read.cgi/php/1177683436/
【PHP】フレームワークMapleに舌鼓
http://pc11.2ch.net/test/read.cgi/php/1122105465/
【PHP】フレームワーク Akelos
http://pc11.2ch.net/test/read.cgi/php/1187333485/
【PHP】Ethna part.2【国産フレームワーク】
http://pc11.2ch.net/test/read.cgi/php/1186096518/
2ch有志がPHPフレームワークを作るスレ
http://pc11.2ch.net/test/read.cgi/php/1172328149/
ZendFramework Part2
http://pc11.2ch.net/test/read.cgi/php/1204726884/
フランチョスとsymfony
http://pc11.2ch.net/test/read.cgi/php/1201177567/
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
0004nobodyさん
2009/03/24(火) 01:30:24ID:???980レス付近になったら、次スレの準備をお願いいたしますで候
では引き続きフレームワークとは関係ない話題はほどほどにしつつ適当に語りましょう
0005nobodyさん
2009/03/24(火) 14:42:00ID:???0006nobodyさん
2009/03/24(火) 15:21:25ID:vm768fgW0008nobodyさん
2009/03/26(木) 13:38:39ID:???form関係はよさげ
0009nobodyさん
2009/03/26(木) 21:29:46ID:???0010nobodyさん
2009/03/26(木) 23:29:53ID:???0011nobodyさん
2009/03/27(金) 16:24:39ID:???5.3でeregが非推奨になってるけど
pregだとマルチバイト文字列を簡単に扱えないじゃん
なめてんの?
0012nobodyさん
2009/03/27(金) 16:27:43ID:???にゃは
0013nobodyさん
2009/03/27(金) 16:46:52ID:???それなりの苦労をすればいい、ってことだろう
0014nobodyさん
2009/03/28(土) 01:24:33ID:zO5Id0L9他にメジャーな文字化け現象はあるんでしょうか?
波ダッシュ問題 の検索結果 約 69,200 件
0015nobodyさん
2009/03/28(土) 01:33:16ID:???0016nobodyさん
2009/03/28(土) 01:50:15ID:???文字化けの原因を大別すると
1.文字セット間での変換時の変換テーブルの相互互換性の問題
2.データを処理する際のエンコーディングの取り違え
だと思うんだ。もちろん上記は複合する。
んで、波ダッシュ問題っての?その原因は1の方で、これは文字コードの変換さえしなければ起こらない。
例えばPHPはUTF-8で、DBがEUC-JPとかいうわけのわからん構成でシステム組んだりするとそんなことが起こるよ、と。
もうちょっとやらしいところでは、例えばJavaで動いているEclipseでeuc-jpのコードを書いたりすると、同じ原因で波ダッシュが化けたりする。
だから、ぶっちゃけ文字コードの変換を極力避けるシステムを作ればいい。
その為にはUTF-8が一番有効ですよっていうのが脳みそシンプルで簡単なやり方。
メール送信時だけ、今のところISO-2022-JPにしなきゃいけないみたいな現状はあるけど、そのほかはほぼUTF-8でいけるはず。
さて、勉強の為にツッコミを希望しますw
0017nobodyさん
2009/03/28(土) 07:03:23ID:???名前からするとcakephpが一番良く思えるのですが
0018nobodyさん
2009/03/28(土) 08:47:36ID:???0021nobodyさん
2009/03/31(火) 23:28:02ID:???0022nobodyさん
2009/04/11(土) 06:56:15ID:???0023nobodyさん
2009/04/11(土) 12:47:07ID:???0024nobodyさん
2009/04/11(土) 15:02:57ID:???0025nobodyさん
2009/04/11(土) 16:47:43ID:???0026nobodyさん
2009/04/11(土) 20:06:41ID:???0027nobodyさん
2009/04/12(日) 03:24:51ID:???Hello World?
ぶっちゃけ、ページ表示で多少引っかかるくらいの重さなら許容範囲内って仕事が9割5分。
FWの差異以前に、DBの組み方であるとかサーバや回線そのものの差が、サイトの重さの差に
占めるウェイトの8割以上、とかやけくそ気味に考えることも多い。
0028nobodyさん
2009/04/12(日) 11:32:01ID:???みんな何のフレームワークをお手本に作る?
0029nobodyさん
2009/04/12(日) 11:37:31ID:???0030nobodyさん
2009/04/14(火) 19:37:42ID:???よろしくお願いします。
0031nobodyさん
2009/04/15(水) 03:19:08ID:???0032nobodyさん
2009/04/15(水) 03:55:41ID:???0034nobodyさん
2009/04/15(水) 22:14:59ID:???新しい分活発だろうし
0035nobodyさん
2009/04/16(木) 15:19:10ID:???CIは解説本を1冊読んでチュートリアルのサンプルを作ったら、1週間程度で使い方が理解できた。
紆余曲折、結局WEBアプリの作成って、DBのラッパー作りだと納得した。
スカッフォルディングは使ってないけど、今ではFW(CI)のおかげでだいぶ生産性が上がり、楽ができるようになった。
とにかく何でもいいから1つFWをものにして、それを基準にして他と比較して、他が良ければ鞍替えすればいいと思う。
CIはシンプルなので、足りない機能があればZFから借用できる。
=解説本にZFライブラリの利用方法が解説されていた。
CIの欠点は、CIがアメリカ製なので日本の携帯端末用ページを作るには不足が多いかもしれないということ?
CakePHPとSymfonyも一応解説本に目を通したが、覚えることが多そうだったので使わなかった。
CIよりも自分の開発規模・用途に適した、よさげなFWが登場したら、鞍替えすると思う。
0036nobodyさん
2009/04/16(木) 19:38:44ID:PXJUiMOk携帯不向きってのはどういう根拠?
ZendFrameworkとたいしてかわらんだろ?
0038nobodyさん
2009/04/17(金) 00:39:00ID:???0039nobodyさん
2009/04/18(土) 00:44:08ID:???0040nobodyさん
2009/04/18(土) 00:46:18ID:???PEAR使ってくれ。
ノウハウの蓄積の効用がわからんわけでもあるまいに。
また、その程度のノウハウを独占できる時代は終わってるんだぜw
0042nobodyさん
2009/04/18(土) 01:55:12ID:???>その程度のノウハウを独占できる時代は終わってるんだぜw
まさしくその程度のノウハウだし、きっちり携帯切り分けるなら結局IPみたりするんだし、
やっぱり自前でやってもそんなに問題のあるコードが出てくるとはおもわなんだが。
>>41
ん〜、Net_UserAgent_Mobileに穴がない保証が見つからないし、あそこまでUAから
情報が必要になることもなさそうだしなぁ。
最近は、よさげな野良ライブラリ見つけたのでそれを参考に作ってみたりしたけど。
あと、インプレスが携帯電話の情報を無償提供とかやってるみたいだし、
結局PEARのライブラリの使いどころって、見えないなぁ。
004340
2009/04/18(土) 02:02:09ID:???それとはまた矛盾するかも知れない話ではあるが、少なくとも情報の集積という点で、
「よさげな野良ライブラリ」よりPEARに荷担したくなる自分もいる。
結局、あれだ。「自前で書いたほうが〜〜」に反発しただけなんだと思うわけだ。
>>42が気分を損ねて無いなら幸い。
004440
2009/04/18(土) 02:04:47ID:???> PEARで一括りにする時点で、何かが違うと感じた。
これ先にやったの俺だな。
ごめん。読み流してやって下さい
004542
2009/04/18(土) 02:32:07ID:???特に気を損ねたりはしてないです。
「自前で書いたほうが〜〜」という件については、
まぁ、3キャリアのUAを簡単に切り分ける程度のことで済むのであれば
わざわざNet_UserAgent_Mobileを取り出してこなくてもいいかな、と思ったというだけね。
UAよんで、正規表現とかで切り分けるだけなんだし、
上でも書いたように、IP見る場合はNet_UserAgent_Mobileじゃ足りないわけだし。
「よさげな野良ライブラリ」は、ライブラリの一部を切り出したブログのエントリを見て
すぐに理解できたのでやってみたってだけね。
Net_UserAgent_Mobileを理解するのが面倒だったっていう俺の怠慢でもある。
一応、その参考にしたエントリを張っとく
ttp://kwappa.txt-nifty.com/blog/2008/03/post_f7ff.html
これに、IPきりわけ機能と、XHTMLが表示できる出来ないの情報を付加したものを作りました。
0046nobodyさん
2009/04/18(土) 14:29:25ID:???だけどいいクラス名が思いつかない。なにかいい名前プリーズ。
/// つくりたいクラス
class Http {
var $request;
var $response;
function Http() {
$this->request = new Request();
$this->response = new Response();
}
}
0047nobodyさん
2009/04/18(土) 15:44:32ID:???ttp://www.google.co.jp/trends?q=cakephp%2C+symfony%2C+zend+framework%2C+yii+framework%2C+code+igniter&ctab=0&geo=jp&geor=all&date=all&sort=0
ほかは無いも同じだな。
0049nobodyさん
2009/04/18(土) 16:01:56ID:???まとめる必要なくね?
0050nobodyさん
2009/04/18(土) 16:17:18ID:???ttp://www.phpfour.com/blog/2008/01/php-http-class/
(HTTPクラス)
とか、PEARのHTTP_Requestとか
0051nobodyさん
2009/04/21(火) 05:05:52ID:TMA0XNZYSunがオラクルに買収されてMySQL脂肪
すなわちPHP脂肪www
0053nobodyさん
2009/04/21(火) 15:54:29ID:???0054nobodyさん
2009/04/21(火) 18:01:27ID:???0055nobodyさん
2009/04/21(火) 22:20:27ID:8G0hNlN6http://www.cbook24.com/shop/ProductDetail.aspx?sku=9784798022574&CD=F1000049&WKCD=F1000037
0056nobodyさん
2009/04/22(水) 23:08:42ID:???0057nobodyさん
2009/04/22(水) 23:50:12ID:6FnKU0By0058nobodyさん
2009/04/23(木) 12:00:54ID:???0059nobodyさん
2009/04/23(木) 22:39:36ID:???0060nobodyさん
2009/04/26(日) 21:10:58ID:???0061nobodyさん
2009/04/27(月) 10:17:04ID:???0062nobodyさん
2009/04/27(月) 12:51:24ID:???同意。
・PHPは簡単だから、デザイナーやHTMLコーダーでもすぐに理解できる(分業が目的でもテンプレートシステムは不要)
・生PHPの方が、テンプレートの独自記法よりも多機能で便利
条件分岐や繰り返しは、生PHPで書いても可読性は確保できます
http://codeigniter.jp/user_guide_ja/general/alternative_php.html
だから、MVCのVも、Smarty等のテンプレートシステムはなくてもOK
0063nobodyさん
2009/04/27(月) 14:03:59ID:???0064nobodyさん
2009/04/27(月) 14:36:44ID:???0065nobodyさん
2009/04/27(月) 15:02:38ID:???テンプレートエンジンの思想は、PHP構文を置き換える目的では無いよ。
・デザイナに与える権限を最小限にする(PHPを直に触らせない)
・結果的にコード記述方法が統一される
・PHP以外の言語からも再利用出来る
・キャッシングや独自タグなどの拡張が楽
・可読性が生PHPと比べて高い
等メリットはあるし、ケースバイケースだね。
0066nobodyさん
2009/04/28(火) 18:10:44ID:???FWに付いているページキャッシュ機能が使えればOKでしょうか
>>64
計画はご利用的に
>>65
>・PHP以外の言語からも再利用出来る
その発想はなかった…1本!
0067nobodyさん
2009/04/28(火) 20:27:38ID:???ただHTMLもレイアウトを記述するためのものでは無いので、PHPやHTMLに毛が生えたような構文である必要はなく、
独自のテンプレート記述言語もいいかもしれない。
生産性の観点から言うとひとつのテンプレートからPC用HTML、携帯用HTML、Ajax用データetc.を吐けたりすると嬉しい。
0068nobodyさん
2009/04/29(水) 15:17:25ID:???VのところでSmarty等のテンプレートエンジンを使うか、使わないか?
HTMLの中にPHPのコードを埋め込めるから、生PHPそれ自体が一つのテンプレートエンジンとして使える。
生PHPよりも高機能なPHP製テンプレートエンジンってないから、生PHPは便利ですよ。
以前はSmarty使っていたけど、今は生PHPに戻りました^^
テンプレートエンジンを使う人には、それなりに理由があるだろうから、別に否定はしないけど。
0069nobodyさん
2009/04/29(水) 16:03:31ID:???lol
0070nobodyさん
2009/04/29(水) 17:32:01ID:???0071nobodyさん
2009/04/29(水) 18:06:52ID:???0074nobodyさん
2009/05/04(月) 19:33:15ID:???テンプレートの記述でちょろっと書いたらescape(または非escape)ってのが今のところベターな気がする。
生のPHPで E() とかグローバル関数を作って使ってもいいんだろうが、一気にきちゃなくなりそうだ。
0075nobodyさん
2009/05/05(火) 15:57:12ID:???例えば、
<? ?> #=> <?php ?>
<?= ?> #=> <?php echo ?>
に加えて、
<?== ?> #=> <?php echo エスケープ処理(); ?> (処理内容はPHP_INI_ALLで設定可能)
みたいなタグを追加する、とか?
こんな感じで実装されれば、ショートタグ全盛時代がくるだろうな。
0076nobodyさん
2009/05/05(火) 17:54:07ID:???0077nobodyさん
2009/05/05(火) 18:15:20ID:???<input type="text" class="hoge page" style="text-align: right;" name="hoge" value="<?php echo htmlspecialchars($hoge, ENT_QUOTES, 'UTF-8');?>"/>
<input type="text" class="hoge page" style="text-align: right;" name="hoge" value="<?== $hoge ?>"/>
うん。下の方が嬉しいな。
「文字数を節約する」のは特にメリットはないけど、
読みやすくする、その場所で大事でないことはあんまり目に入らないようにするっていうのは
とてもメリットがある。
0078nobodyさん
2009/05/05(火) 18:52:25ID:???0079nobodyさん
2009/05/05(火) 18:59:28ID:???どうせphp本体に手を入れるのなら、「出力は全て自動エスケープされる」モードを作った方がよくね。
俺は今、テンプレートに変数を割り当てた時点(FW側)で全てエスケープされるようにして、
変数にHTMLタグを割り当てた場合、テンプレート側でデコードするようにしている。
但し、>>74の言うようにオブジェクトは除いて別扱いせざるを得ない。
<?php echo や <?= なら自動エスケープ。<?== ならそのままってなほうがいい。
0080nobodyさん
2009/05/05(火) 19:13:28ID:???理屈はわかるけど、あくまでも、特殊処理をする方を特殊な書き方にした方がいいと思うな。
magic_quotesの悪い前例もあることだし。
それにそうしないと、例えばファイルに書き出すときにはモードをオフに、とかしなきゃいけなくなる。
まあおれの場合は実装の絡まない妄想だが。
0081nobodyさん
2009/05/05(火) 19:46:40ID:???安全性を考えたらdefaultでescapeのほうがいいと思うけどね。
008279
2009/05/05(火) 20:32:40ID:???ちょっと書き方が悪かった。
あくまでFWのview出力において全て自動エスケープ。
たとえば $view->display()としたときにdisplayメソッド内で自動エスケープをONにして
テンプレートスクリプト(生PHP)を処理していく感じ。
0083nobodyさん
2009/05/06(水) 03:44:19ID:???magic_quotes以上のゆとり思考だろ・・・
<?== ?> タグ程度なら、自前で実装出来そうだし、
用意された機能で実装すりゃいいんじゃねーの?
それをテンプレートエンジンと呼ぶかどうかは別にして
0084nobodyさん
2009/05/06(水) 03:50:45ID:???0086nobodyさん
2009/05/06(水) 11:41:38ID:???前段二行は、まあPHPとはそういう言語(?)だと。
他にもmb_stringの自動変換とかsafe_modeとか、もろもろの余計なお世話で
成り立ってるんだし、他の機能と比べればHTMLエスケープの標準オプション化くらい
なんてことはない。
ただ、エスケープの為だけにタグを"スクリプトでの"実装はあり得ないなw
後半はそういう意図に読めるが、それだけのテンプレートエンジンなんて筋が悪すぎる。
PHP拡張としてパーサレベルで実装してあれば便利かな、ってものだと思う。
0087nobodyさん
2009/05/06(水) 12:10:05ID:???{$var}で解決よ
0088nobodyさん
2009/05/06(水) 12:22:12ID:???>>68,71 (とそのちょっと前から)の流れだってば。
そりゃ現実的にはみんないろいろやってるだろうけど、
仮定の話はそんなに面白くないかな?
0089nobodyさん
2009/05/06(水) 12:54:21ID:???0090nobodyさん
2009/05/06(水) 13:24:40ID:???すごく消極的だが、前提ライブラリは少なければ少ない方がいい、とか。
Smarty以外にもテンプレートエンジンはあるし、どれも標準にはなり得ない。
最近のFWでもテンプレートエンジンを必須の前提にしていないものが大半だが、
その理由と同じってのでどうだろう。
俺は使えればSmarty使う派だから想像だけど。
0091nobodyさん
2009/05/06(水) 17:24:24ID:???実装出来る手段が用意されていて、特別困るものでも無いのに標準機能として盛り込んでしまうと、
裏側の処理を理解していないゆとりPGが泥沼にはまるのが目に見えるわ・・・
そもそもPHPはHTMLを出力するためだけのモノでも無いし、
HTML出力に関しても100%エスケープが必要なものでもない。
0092nobodyさん
2009/05/06(水) 19:26:56ID:???> 大半の環境ではオフにされているんだが・・・
これらがデフォルトになったのはごく最近の話って認識なんだが。
register_globalsだけが少し早かったと。
実際今までだってここら辺に嵌るのがある意味通過儀礼のようなもんだっただろw
んで、逆にそういう知識が常識として定着した現状なら、いろんな機能がついてても
それほど問題にもなるまいという風に考えてしまうな
0093nobodyさん
2009/05/07(木) 13:41:10ID:???0094nobodyさん
2009/05/08(金) 22:46:49ID:???0095nobodyさん
2009/05/08(金) 23:30:04ID:???これからのフレームワークは具体的にどう変化するの?
0096nobodyさん
2009/05/08(金) 23:34:42ID:???それだけではそんなに変わりそうな気もしない
何より、フレームワークはあんまりすぐには新バージョンに追随しないと思う
0097nobodyさん
2009/05/08(金) 23:54:56ID:???継承して拡張するのは楽になりそう。
0098nobodyさん
2009/05/09(土) 00:09:06ID:???これか
ttp://jp2.php.net/lsb
self::、parent:: に static:: が加わるってことでいいのかな。
しかしこれを読んだだけでは、parent::のstatic::バージョンも欲しくなりそう。
無いって事は、普通はいらないってことなのだろうか。
0099nobodyさん
2009/05/12(火) 06:50:24ID:V/2qAUy/・最初のgetInstance時に初期化パラメータを渡す
・staticなsetXXメソッドを実装して初期値を渡す
選択肢としてはこんくらい?
0100nobodyさん
2009/05/12(火) 08:28:25ID:???0101nobodyさん
2009/05/12(火) 08:45:51ID:???コンストラクタでの初期化にこだわってたけど
その方がキレイかも・・ありがとう
0102nobodyさん
2009/05/12(火) 13:04:35ID:WVFMmzYl0103nobodyさん
2009/05/12(火) 21:23:25ID:???0105nobodyさん
2009/05/15(金) 20:00:09ID:wv3qSkZjhttp://www.shuwasystem.co.jp/products/7980html/2277.html
0106nobodyさん
2009/05/15(金) 21:55:29ID:???0107nobodyさん
2009/05/16(土) 02:33:23ID:???フレームワークは、Webアプリケーションの全体構造の仕組みを提供し、
プログラマが書くべきコード量を減らしてくれます。
特に複雑で大規模なアプリケーションになるほど効果は大きくなります。
本書では、注目のPHPフレームワーク4種
(CakePHP/Zend Framework/symfony/Codelgniter)の基本を解説。
MVC(モデル、ビュー、コントローラー)アーキテクチャの基礎のほか、
データベース接続やバリデーションの方法や各フレームワークの特徴がわかりますので、
自分の開発するWebアプリケーションに必要なフレームワークを比較・選択することができます。
各フレームワークを収録したCD-ROM付き。
---
注目…?
0108nobodyさん
2009/05/16(土) 02:47:04ID:???setXXとあんまかわんないけどfactoryメソッド作って、コンストラクタ叩いてstaticなsingleton変数に突っ込めば?
0109nobodyさん
2009/05/16(土) 22:53:53ID:???0110nobodyさん
2009/05/17(日) 00:54:10ID:???PHP5でコンストラクタもプライベートに出来るようになったし、
staticなメンバ変数も保持できるようになったわけだし、
実利がまったくないってことないんじゃない?
ライブラリ作った場合にライブラリ側で
そのオブジェクトは常に一つしか作成されないのかどうかを出来るっていうのも
ポイントだとおもうけど。
0111nobodyさん
2009/05/17(日) 01:56:03ID:???Singletonは必要ないというのも了見が狭いなあ。
>>110みたいにコーディング上の利点は十分にあるのに。
0112nobodyさん
2009/05/17(日) 08:42:30ID:???>PHPではグローバル変数を使え。
の二言で全て台無し。
コンストラクタをプライベートにするもよし、
コンストラクタ内でstaticインスタンスの存在をチェックして、例外を投げるとかで実装上さほど問題無い。
(マジックメソッド系も実装必要ね)
0113nobodyさん
2009/05/17(日) 15:17:13ID:???0114nobodyさん
2009/05/17(日) 16:11:16ID:???グローバル変数ほとんど使った事無い
0115nobodyさん
2009/05/17(日) 17:37:11ID:???グローバル変数使ってアクセスしたほうが速かったような気がするんだが、どうなんだっけ。
0116名無し募集中。。。
2009/05/17(日) 17:50:22ID:wjR/zk6c0117nobodyさん
2009/05/17(日) 18:47:40ID:???プロパティよりローカル変数にアクセスするほうが速いのは確かなんだけど
マイクロベンチマークで「こんなに違うんですよ」と言えるだけで
実際のアプリケーションの動作からすると誤差の範囲でしかない。
0118nobodyさん
2009/05/17(日) 22:42:55ID:???0119nobodyさん
2009/05/18(月) 00:28:50ID:???0120名無し募集中。。。
2009/05/18(月) 01:30:21ID:wP2DRNT9みんなが言ってるグローバル変数ってそのことじゃないと思うぞ
0121nobodyさん
2009/05/18(月) 02:42:31ID:???つか、グローバル変数云々の問題って
複数人がかかわるようなもの作ったり、いろんなものを組み合わせて使ったり
そういうときに名前(変数名)がぶつかって不具合でる可能性がないようにするため
クラスぷろぱてーやらローカル変数やら使おうって話でしょ
すべてを一人で把握するような規模でかつ独立してるもんを想定してるんなら
グローバルだろうが問題ないとはおもうよ。わしはやらんが
だいたいそんなしょっぱい規模のものだったらフレームワークとは無縁w
0122nobodyさん
2009/05/18(月) 02:52:59ID:???0123nobodyさん
2009/05/18(月) 08:56:15ID:???0124nobodyさん
2009/05/18(月) 09:25:31ID:???「ぶつかるわけがない」と思ってる奴が他にもいたらぶつかるだろ
0125nobodyさん
2009/05/18(月) 11:03:40ID:???0126nobodyさん
2009/05/18(月) 11:08:25ID:???でも、むしろこっち使ってもらう方が何かといいかw
0127nobodyさん
2009/05/18(月) 13:45:20ID:???保守する人のことも考えて。
0128nobodyさん
2009/05/18(月) 15:51:21ID:???0129nobodyさん
2009/05/18(月) 21:30:16ID:???0130nobodyさん
2009/05/19(火) 00:43:21ID:???技量不足知識不足と宣言してるも同義
まともなPGなら意図的にそんなことやる意味ないことくらい理解してる
0131nobodyさん
2009/05/19(火) 04:39:13ID:???0132nobodyさん
2009/05/19(火) 04:43:36ID:???0134nobodyさん
2009/05/19(火) 09:05:36ID:???0135nobodyさん
2009/05/19(火) 10:35:21ID:???クラス引数≧配列引数≧普通の引数>>>グローバル変数
で書くべきだな。
グローバル変数を引数として扱うメリットって何なの?
デフォルト値とか型チェックとか面倒な事しか思い浮かばないんだが・・・
0136nobodyさん
2009/05/19(火) 12:26:18ID:???ログとか全体的な設定とか
0137nobodyさん
2009/05/19(火) 12:40:47ID:???それなら却って、クラス変数やシングルトンなんかでごにょごにょするよりは
PHPのうまみがあるかも。
すくなくともglobal 変数名よりは反感も少ないだろうし、使ってるうちに少しは
多用に疑問も感じるはず。
0139nobodyさん
2009/05/19(火) 13:50:36ID:???というか、グローバル禁止ならそいつらもオブジェクトにでも詰め込んでそれを引数にして関数を呼べよと。
0140nobodyさん
2009/05/19(火) 14:33:19ID:???グローバル定数の代替え手段を理解していない素人が喚いているだけ?
0141nobodyさん
2009/05/19(火) 15:09:14ID:???フレームワークの話題でなければスレ違い、って意図だと解釈しておく。
配布されているような汎用フレームワークでは、さすがにグローバル変数は使えないだろう。
ただ、そこら辺で実稼働してるような俺流フレームワークなどの規模や必要性なら、
ガチで原理主義なOOPコーディング(っぽいもの)なんかより、読みやすく
手入れしやすいグローバル変数の使い方もできるだろうし、されてるかもね。
要は使い方だって。
0142nobodyさん
2009/05/19(火) 17:05:54ID:???>手入れしやすいグローバル変数の使い方もできるだろうし、されてるかもね。
全く想像つかんw
複数人で開発した際に変数名の競合を防げなかったり、
引数としての型チェックやデフォルト値が設定出来ないわけだが…
コーディング規約を徹底管理すれば何とかなるが、
後者はテストを含め、実装には無駄な手間がかかるだろう。
ロジックや変数の局所化はOOP以前の話だと思う。
0143nobodyさん
2009/05/19(火) 17:45:17ID:???だから、$_POSTやら$_GETやら$_COOKIEにどこからでも代入出来る時点で、
変数の局所化なんて崩れてるって。
# こいつらを最初にいちいちコピーして空っぽにするのが最近は普通なのかな?
なんで「グローバル変数を使う」 = 「無制限に読み書きする」に直結するんだろう。
読むだけなら何の問題もないって。
規約って言ったって、(決まってる初期処理以外で)$GLOBALSに代入する奴は死刑、
ってだけでいいじゃないか。あくまで、$GLOBALSのみ使うっていう前提だけど。
俺はまあまず使わんけど、便利そうな使い方は想像できなくもないよ。
0144143
2009/05/19(火) 17:59:28ID:???自分がそう思うのは、関数(メソッド)の外でスクリプトを書くって事がないからか。
もう全部、下敷きのディスパッチャがある環境でしかスクリプト書かないし、
トップレベルのスコープで書かれた部分って数枚で、増えない。
もしトップレベルでいろいろ書く必要があるなら、グローバル変数に
代入しないわけにはいかないか。
そうなると、さすがにいきなりグローバル変数の参照は怖くてできんわな。
まあどっちにしろ、局所化できるかどうかの話だけだとは思う。
0145nobodyさん
2009/05/19(火) 18:04:18ID:???>変数の局所化なんて崩れてるって。
言語レベルで周知されている値と、ユーザーグローバル変数を同列には語れないかと。
(素人でも $_POST を上書きしちゃマズイって事くらいは理解しているだろう)
一部の局所化が既に崩れているから、さらに崩して良いという考えかい?
>なんで「グローバル変数を使う」 = 「無制限に読み書きする」に直結するんだろう。
制限事項を規約で作るくらいなら、定数化なりクラス化するのが普通じゃないかね。
言語レベルで制限御出来る機構が提供されているのに、それを使わない理由がわからない。
0146nobodyさん
2009/05/19(火) 20:12:14ID:???全然関係ないけどね。
0147nobodyさん
2009/05/19(火) 21:13:04ID:???しかもフレームワークそんな関係ない
0148nobodyさん
2009/05/19(火) 21:39:39ID:???そういう意味では関係ある、ような無いような
0149nobodyさん
2009/05/19(火) 21:54:40ID:???0150nobodyさん
2009/05/20(水) 00:06:53ID:???0151nobodyさん
2009/05/20(水) 02:14:41ID:???0152名無し募集中。。。
2009/05/20(水) 02:19:49ID:by98XaTN0153nobodyさん
2009/05/20(水) 02:35:48ID:???0155nobodyさん
2009/05/20(水) 13:20:19ID:???サービスロケーターを実現するために、他のクラスに依存しないということにおいてグローバル変数は有用だと思う。
PEARが使ってるのもそういう理由じゃないかな。
スコープがグローバルなのはクラス名も同じ。名前衝突解決法も同じで良いと思うしPEARもそうしてる。
0156nobodyさん
2009/05/20(水) 13:50:50ID:???グローバル変数だと知らぬ内に値が書き換えられる可能性がある。
この差は大きいと思うので、極力クラス化している。
0157nobodyさん
2009/05/20(水) 16:36:09ID:???グローバル変数なんて石ころみたいなもん
0158nobodyさん
2009/05/20(水) 20:18:38ID:???0159nobodyさん
2009/05/20(水) 20:24:27ID:???が、そんなことしてもメリットは薄いし、初心者に優しいPHPの良さを消すことになる。ので、PHPのセッション管理は連想配列のまま。
0160nobodyさん
2009/05/20(水) 23:22:06ID:???0161nobodyさん
2009/05/20(水) 23:37:13ID:???クラスオブジェクト作るときってただ単純にセッションを管理したいってだけで作るわけじゃないだろ。
ある一定の目的が定義されてて、その定義にあわせて管理することを考えたときに
一つの意味の集合であるクラスを作るのであって。
PHPのデベロッパーはセッション管理をすることの意味なんて凄く広義的に考えて設定してるから、
グローバルな連想配列になってんじゃないのか。
0162nobodyさん
2009/05/20(水) 23:39:50ID:???ユーザが勝手に作るグローバル変数をスーパーグローバル変数と同列で語るのがおかしいわけで…
0163nobodyさん
2009/05/21(木) 00:01:09ID:???結局、仕様書だの会社で規定されてる命名規則だの何だのとかきちんとしてないのに
>>109のようなことをつぶやいて>>127のような人を量産する場合なんだろ。
結局オープンソースだとか使いまわし前提のライブラリだのでそんなの使ってると後で使う人が困ったことになるってだけで。
0164nobodyさん
2009/05/21(木) 00:26:39ID:???0165nobodyさん
2009/05/21(木) 01:01:42ID:???単なる素人発言にしか見えないんだわ。
実際になんらかのフレームワークを使った上で、
グローバル変数のメリットデメリットを比較してみてくれよ。
0166nobodyさん
2009/05/21(木) 02:12:20ID:???定数もグローバル(define)じゃなくてクラス定数にしてんの?
0167nobodyさん
2009/05/21(木) 02:26:54ID:???0168nobodyさん
2009/05/21(木) 09:09:50ID:???使ったとしても最低限のフラグ程度にしか使わないし
DEBUG_MODE とか、そんな感じのやつ。接頭子もつけてる。
クラスに関する定数は、当然クラス定数にしているよ。
0169nobodyさん
2009/05/21(木) 09:46:04ID:???0170nobodyさん
2009/05/21(木) 10:17:04ID:???0171nobodyさん
2009/05/21(木) 10:34:56ID:HWozpBczいや、それ以下か。シングルトンいらんって話が、引数を渡すのにとか名前がぶつかるからって話にダウングレードしてるし
0172nobodyさん
2009/05/21(木) 13:53:57ID:???0173nobodyさん
2009/05/21(木) 14:55:07ID:P779ZgB3あいつら、ZendFrameworkやCodeIgniterの事なんて気にもしてないよ。
0175nobodyさん
2009/05/21(木) 16:23:26ID:P779ZgB3マジでwww!!?
0176nobodyさん
2009/05/21(木) 16:24:30ID:???0177nobodyさん
2009/05/21(木) 18:32:40ID:???0178nobodyさん
2009/05/21(木) 18:41:02ID:???だいたい、どれくらいで「大きな案件」よ
はてな住人はそんなにみんな大きな案件ばっかりやってるのか?
0179nobodyさん
2009/05/21(木) 19:18:31ID:???Codeigniter出来る人を求人してもいなさそうなイメージ…。
0180nobodyさん
2009/05/21(木) 22:34:08ID:P779ZgB30181nobodyさん
2009/05/21(木) 22:51:25ID:???0182nobodyさん
2009/05/22(金) 00:15:18ID:???0183nobodyさん
2009/05/22(金) 00:22:03ID:???実際公式サイトに書いてあるように習得が楽なので、ないこたないと思うけど?
バリデータがしょぼかったから別の使ってるけど。
まぁ、一人で適当にアプリ作るには割りとちょうどいいかな。
階層も薄いからどこでどう動いてるかとかも把握しやすいし。
0184名無し募集中。。。
2009/05/22(金) 00:30:33ID:f3nFju+Fそれ以外は経験者集められない
0185nobodyさん
2009/05/22(金) 00:55:57ID:RzyQ8gRWありすぎて、問題だなw
0186nobodyさん
2009/05/22(金) 01:13:02ID:???ありえそうな気がしてくるw
CodeIgniterとかよめねぇwwwwみたいなのいっぱいいそうwwwww
こでいぐぬぃてぇあ
0187nobodyさん
2009/05/22(金) 01:35:28ID:???比較的大きな案件といっても中規模レベルのことで、
それ以下の更に以下ぐらいにCodeigniterの選択肢があるわけで。
0188nobodyさん
2009/05/22(金) 01:35:53ID:???0189nobodyさん
2009/05/22(金) 02:03:28ID:???0191nobodyさん
2009/05/22(金) 12:25:09ID:RzyQ8gRW0192nobodyさん
2009/05/22(金) 14:29:39ID:???文字数的にはヒットの予感w
パフォーマンス的には結構よさそうだけど、使い難そうだね。
日本に限らず流行らないほうに1票。
0193nobodyさん
2009/05/22(金) 15:46:56ID:???0194nobodyさん
2009/05/23(土) 09:51:40ID:???0195nobodyさん
2009/05/23(土) 10:02:39ID:???0196nobodyさん
2009/05/23(土) 11:28:31ID:sw/qjhoP0197nobodyさん
2009/05/23(土) 19:45:31ID:???0198nobodyさん
2009/05/24(日) 00:13:51ID:???0199nobodyさん
2009/05/24(日) 00:17:05ID:???0200nobodyさん
2009/05/24(日) 01:25:18ID:UrsSuZGNCakeじゃね?DBのクエリーを見れるじゃん。
0201nobodyさん
2009/05/24(日) 08:19:09ID:???0202nobodyさん
2009/05/24(日) 09:51:07ID:???PHP5に特化して統一されたエラーハンドリングができる方がフレームワークとしてはいいかもよ。
SQLのエラー(例外)をキャッチできればクエリ出すことも簡単だろうし。
ZFやらKohanaとかもいいんでね?面倒なのでやってないけど。
0203nobodyさん
2009/05/24(日) 10:02:26ID:???0204nobodyさん
2009/05/24(日) 10:10:00ID:???0205nobodyさん
2009/05/24(日) 11:18:37ID:???クエリから実行時間まで全てログれる件。
表向きに簡単!便利!と売るより、
プログラマにとって地味に嬉しい機能を全面に出すフレームワークは無いものかね
0207nobodyさん
2009/05/25(月) 00:28:25ID:n6zT/Oby0208nobodyさん
2009/05/25(月) 00:44:44ID:3dtn4t5ahttp://framework.zend.com/manual/ja/zend.db.profiler.html
0209nobodyさん
2009/05/25(月) 03:07:58ID:???パラメータつきのプリペアドステートメントの場合、 クエリがプリペアされた時点のテキストを返します。
つまり、プレースホルダを含んだままの形式ということです。
実行時に置き換えられた値を知ることはできません。
orz
0210nobodyさん
2009/05/25(月) 05:21:49ID:???0211nobodyさん
2009/05/25(月) 05:32:16ID:n6zT/Oby0212nobodyさん
2009/05/25(月) 07:03:40ID:???PHPは捨てることになします
ありがとうございました
0213nobodyさん
2009/05/25(月) 07:28:25ID:???文盲はもう帰ってこなくていいよ
0214nobodyさん
2009/05/25(月) 09:11:31ID:???0215nobodyさん
2009/05/25(月) 09:44:24ID:???0216nobodyさん
2009/05/25(月) 11:30:40ID:???0217nobodyさん
2009/05/25(月) 11:37:50ID:???0219nobodyさん
2009/05/29(金) 04:53:50ID:???勝ち負けは知らんが、確立された方法があるなら素敵なことだと思う。
開発中 tail -f をDBログに対して常に可能な状態なら、それは一種のフレームだもん。
0220nobodyさん
2009/06/08(月) 00:42:53ID:???なんかネタない〜?
0221nobodyさん
2009/06/09(火) 00:03:04ID:???1 今使用してるフレームワーク
2 使用した事のあるフレームワーク
3 それぞれの寸評または10点満天でのスコア
4 欲しい機能
どぞ
0222名無し募集中。。。
2009/06/09(火) 00:24:43ID:JTieN+g5個人ではCakePHPとZendFramework
仕事で他人が作ったSymfonyのシステムもいじる
2 使用した事のあるフレームワーク
Ethna
Mojavi
Maple
CakePHP
ZendFramework
Symfony
3 それぞれの寸評または10点満天でのスコア
Ethna 8点 かなり良いけど今使うには古い
Maple,Mojavi 初期構築やってないんであんま記憶ない
CakePHP 9点 初期構築なら一番開発が楽
ZendFramework 7点 自由すぎで楽はできない
Symfony 5点 これしか知らなかったらこれでいいけど、他知ってると荒が見えてしまう
4 欲しい機能
日本のガラパゴス携帯に簡単に対応して欲しい
無理だろうけど
0223nobodyさん
2009/06/09(火) 01:57:18ID:???http://www.moongift.jp/2009/06/fitzgerald/
簡単なURLマッピング、シンプルなレスポンス。どれをとっても簡単だ。
そんなSinatraを真似たPHP用フレームワークがFitzgeraldだ。
0225nobodyさん
2009/06/09(火) 09:36:31ID:g6/5Uspu0226nobodyさん
2009/06/09(火) 09:40:47ID:???構造がしっかりするのは良いもんだね。
0228nobodyさん
2009/06/09(火) 10:10:03ID:???0229nobodyさん
2009/06/09(火) 10:15:14ID:???0230nobodyさん
2009/06/09(火) 13:05:56ID:???0231nobodyさん
2009/06/09(火) 21:02:52ID:???0232nobodyさん
2009/06/09(火) 23:10:49ID:???0233nobodyさん
2009/06/10(水) 01:30:26ID:???メジャー所一通り経由したが、kohanaは見通しよくてよい。
0234nobodyさん
2009/06/10(水) 16:05:15ID:???0235nobodyさん
2009/06/10(水) 19:49:52ID:???おれはDBラッパーが使いやすけりゃいいかな
0236nobodyさん
2009/06/10(水) 22:28:38ID:???0237nobodyさん
2009/06/11(木) 02:06:24ID:???後はHTMLデザイン関連フレームワークが同梱されてるようなものとか
あるといいなぁって思った。
Webサイトを作成するって段階において、一人で全部作成しようとすると
管理画面含め、画面作成部分が実は凄く面倒くさい。
まぁ、YUIとかそこらへんのCSSフレームワークとかを使えってことなのかもしんないけど。
0238nobodyさん
2009/06/11(木) 02:31:40ID:???絵文字<->絵文字変換
絵文字->画像変換
GET/POST文字コード自動変換
文字コード変換出力
ほかは?
0239nobodyさん
2009/06/11(木) 09:30:25ID:???クッキー使えないときのセッション管理
0240nobodyさん
2009/06/11(木) 12:42:28ID:???phpMySQLAdminみたいな感じで、FWの情報を見たり、設定を変更出来たり、
各種設定が変更でたり、モジュールのユニットテスト支援してくれたい、etc
初期導入が楽なものより、
デバッグ機能が充実かつ容易な物が欲しい。
0243nobodyさん
2009/06/11(木) 19:34:23ID:???rhacoなんてあるんだね。
さらっと見てみたけど、クラス名が他と被りそうな印象。
冗長だけどZendFrameworkみたいにパッケージ名を接頭子としてつけるとかして欲しいところだ。
0244nobodyさん
2009/06/12(金) 13:17:24ID:???PEARパッケージにもできないし
0245nobodyさん
2009/06/18(木) 17:22:53ID:???PHPフレームワークで携帯といったらこれでしょ。
Ktai Library for CakePHP1.2
http://blog.ecworks.jp/ktai
0246nobodyさん
2009/06/24(水) 00:42:05ID:???Apacheに新たな脆弱性が発見されてPHPたちまち脂肪www
0248nobodyさん
2009/07/14(火) 14:40:27ID:???ネートは不幸な生育環境で非行に走っただけで元々の性質は悪くないだろ
変わったのではなく矯正施設の教育で本人の良さが引き出されただけ
ニートは成人するまで両親揃って何不自由なく育ったのに親掛かりを悪びれる素振りもない
人間そのものを変えるなんて事はどだい不可能なんだよ
彼らを何とかしようとするとき共存を考えるよりはそもそも始めからいない物としてカウントしない
そういった方向で何とかする方法を考えた方がいい
0250nobodyさん
2009/08/13(木) 12:31:43ID:???0251nobodyさん
2009/08/13(木) 13:51:32ID:???変な文法増えただけだろ?
イラネ
0252nobodyさん
2009/08/13(木) 14:47:27ID:???0253nobodyさん
2009/08/13(木) 15:55:34ID:???0254nobodyさん
2009/08/13(木) 22:09:43ID:???ぎぎぎ
0255nobodyさん
2009/08/14(金) 09:42:19ID:???0256nobodyさん
2009/08/14(金) 10:04:25ID:???0257nobodyさん
2009/08/14(金) 10:45:14ID:???0258nobodyさん
2009/08/14(金) 11:04:06ID:???これだけ PHP アプリがあると、COBOL、Java のように負の遺産として残るんだろうなぁ。
0259nobodyさん
2009/08/14(金) 15:15:42ID:???0260nobodyさん
2009/08/14(金) 17:32:44ID:???何がPHPに取って代わるの?
じゃなくて?
今のところPHPに変わるものは無い気がするけど。
rubyやpythonはちょっと違う気がするし。
0261nobodyさん
2009/08/14(金) 18:51:57ID:eBpbFkcSそうなんだ。
GCの改良ってあったけど、パフォーマンスにはそんなに効かないのかな。
ディストリが採用するまで待つか。
0262nobodyさん
2009/08/14(金) 21:12:33ID:???0263nobodyさん
2009/08/14(金) 22:43:59ID:???0264nobodyさん
2009/08/14(金) 23:38:42ID:???標準機能(extension含む)の手軽さではピカイチ。
言語としては ECMAScript が手軽かつ綺麗なのでいつか主流になると思う。
サーバサイド実装がほとんど無い現状だけども。
0265nobodyさん
2009/08/14(金) 23:43:42ID:???いつかまた別のが来てもおかしくはないとは思うけど
当分はPHPが死ぬことはないと思うなー
まぁ入れ替わるとしても、風向きが変わってからとりかかりゃいいしな
なんだかんだで今後もあまり発展性のなさそうなものを新たに覚えるよりは
いま使いやすいのを使っておくのが無難かなと思うトコロ
0266nobodyさん
2009/08/15(土) 00:16:27ID:???良くも悪くも現状のWEB開発においては不満が少ないし、十二分に枯れている。
ブラウザとの親和性も含めるとECMAScriptがなんらかのきっかけで爆発的に普及する気がしないでもない。
0267nobodyさん
2009/08/15(土) 00:51:22ID:???0268nobodyさん
2009/08/15(土) 01:43:47ID:???あれが来たらもしかしたら意外とサーバーサイドJS流行る可能性があるかもしれない。
webやるならいずれにせよ多少は触る言語だしね。
0269nobodyさん
2009/08/15(土) 04:14:08ID:???0270nobodyさん
2009/08/15(土) 09:38:25ID:???0271nobodyさん
2009/08/15(土) 09:48:54ID:???0272nobodyさん
2009/08/15(土) 10:14:28ID:???0273nobodyさん
2009/08/15(土) 10:57:07ID:???0274nobodyさん
2009/08/15(土) 11:46:04ID:???ここまで手軽で高機能で普及していて枯れているWEB系言語は他に無い。
0275nobodyさん
2009/08/15(土) 12:28:31ID:???0276nobodyさん
2009/08/15(土) 12:53:34ID:???0277nobodyさん
2009/08/15(土) 15:58:23ID:???過去互換機能を切る必要があるからなぁ
ごっそり削ってほしいところがいっぱいあるんだけど、難しいんだろうなぁ
0278nobodyさん
2009/08/15(土) 16:47:44ID:???0279nobodyさん
2009/08/15(土) 17:51:38ID:???設計した奴はまじでウンコ。
0280nobodyさん
2009/08/15(土) 18:03:17ID:???0281nobodyさん
2009/08/15(土) 18:34:29ID:???厳密な型指定が出来るに越した事は無い。
0282nobodyさん
2009/08/15(土) 18:49:26ID:???じゃPHPでない言語使えよ
0284nobodyさん
2009/08/15(土) 19:36:51ID:???0285nobodyさん
2009/08/15(土) 20:16:37ID:???0287nobodyさん
2009/08/15(土) 21:13:23ID:???case 0:とかな。
メリットは大きいが、全体を通してみるとデメリットの方が大きいと思う。
>284
問題はコンパイル言語かどうかじゃない。静的型言語か動的型言語かが問題。
0288nobodyさん
2009/08/15(土) 21:28:15ID:???0289nobodyさん
2009/08/15(土) 22:00:15ID:???>>280が型指定を理解してるとは思えないがw
型指定の「強制」はPHP的にありえないには同意。
>>279は引数の型チェックとして型指定が出来るようになったのに、
なぜstringやintが指定できねーんだ・・・糞が!!って事を言いたかった。
だから中途半端で、頭悪そうな言語になっちゃうんだよ!
0290nobodyさん
2009/08/15(土) 22:30:58ID:???0291nobodyさん
2009/08/15(土) 22:58:30ID:???0292nobodyさん
2009/08/15(土) 23:11:23ID:???いや、unicodeに対応するってことはそう言うことだよ。
"$varhankaku" と "$var全角" が同じように扱われるってこと。
"${var}全角" で幸せになれるかい?
0293nobodyさん
2009/08/15(土) 23:31:34ID:???0295nobodyさん
2009/08/15(土) 23:32:14ID:???0296nobodyさん
2009/08/15(土) 23:59:34ID:???そもそも if while を深くネストする状況が・・・
0297nobodyさん
2009/08/16(日) 00:15:40ID:???0298nobodyさん
2009/08/16(日) 00:17:00ID:???>>291=>>293 かな?
今時、print "$var全角" とか、深いネストとか。
大丈夫?
0299nobodyさん
2009/08/16(日) 00:20:26ID:???0300nobodyさん
2009/08/16(日) 00:30:30ID:???http://d.hatena.ne.jp/JULY/20090622/p1
0301nobodyさん
2009/08/16(日) 00:33:58ID:???0304nobodyさん
2009/08/16(日) 12:22:34ID:???3重くらいまでは潰すメリットのが大きいが、この辺まで来ると趣味だな。
0305nobodyさん
2009/08/16(日) 14:07:49ID:???32bit機で64bit整数使いたいときがあったりもする。
俺の脳が古いんだろうけどな・・・。
0306nobodyさん
2009/08/16(日) 15:08:15ID:???32bit機で64bit整数使えない言語なんてあるの?
0307nobodyさん
2009/08/16(日) 18:02:22ID:???0309nobodyさん
2009/08/16(日) 18:48:37ID:???php -r '$a=pow(2,62);$a++;$b=$a&1;print "$a $b\n";'
32bit機だと 4.6116860184274E+18 0
64bit機だと 4611686018427387905 1
型指定したくなる気持ちも分かる。
0310nobodyさん
2009/08/16(日) 23:12:58ID:???0311nobodyさん
2009/08/16(日) 23:24:45ID:???というだけの理由で64bit環境を採用したうちの会社。
0312nobodyさん
2009/08/17(月) 01:02:40ID:???0314nobodyさん
2009/08/17(月) 14:19:28ID:???PHPでどんなときも型指定が必須だし、したいってのもお門違いだと思うけど。
0315nobodyさん
2009/08/17(月) 15:40:52ID:???したい時にチェックして例外投げりゃいいじゃん
0317nobodyさん
2009/08/17(月) 16:23:24ID:???頭固い子だな
0318nobodyさん
2009/08/17(月) 16:43:31ID:???人に強要しだすと面倒くさい。
メリットを強調してくれるならまだしも、趣味を押しつけられても困る。
0319nobodyさん
2009/08/17(月) 16:46:24ID:???0320nobodyさん
2009/08/17(月) 18:37:19ID:???型チェックで型指定は代用できないだろ。ちょっとは脳使え。
誰もおまえらにphpで型宣言しろとも言ってないよ。
おまえらには一生メリット無いだろうし。
0322nobodyさん
2009/08/17(月) 20:38:50ID:???0323nobodyさん
2009/08/17(月) 23:06:54ID:???$num = 'one';
switch($num){
case 0:
case 'zero':
echo 'zero';
break;
case 1:
case 'one':
echo '1';
break;
case 2:
case 'two':
echo '2';
break;
}
この「バグ」のおかげでenum代わりの定数に0が使えないし、定数値の中身を毎回毎回確認する羽目になる。unk。
0324nobodyさん
2009/08/18(火) 01:10:39ID:???そもそもcase文に数値と文字列を混ぜて使うあたり頭悪いと思う
0325nobodyさん
2009/08/18(火) 01:57:57ID:???define('C_ZERO',0); define('C_ONE',1); define('C_TWO',2);
function f($n) {
echo $n . ' is: ';
switch($n){
case (string)C_ZERO: echo '0'; break;
case 'zero': echo 'zero'; break;
case (string)C_ONE: echo '1'; break;
case 'one': echo 'one'; break;
default: echo 'default';
}
echo ' / '; var_dump($n);
}
f(0); f("0"); f("zero");
f(1); f("1"); f("one");
f(2); f("2"); f("two");
---
キャストができないなら "".CONST とかでもいい。多少気持ち悪いけど何より手っ取り早い
0326nobodyさん
2009/08/18(火) 02:20:01ID:???もう一年以上まともにPHP触ってないけど、多分これでいけるはず
0327nobodyさん
2009/08/18(火) 11:45:35ID:???0328nobodyさん
2009/08/18(火) 18:55:46ID:???{
}
って書けるのと、function内で型チェックして例外投げるのが同じとか言ってる人は頭弱すぎだろ。
強制じゃなく、必要な箇所にだけ型指定出来ればPHPDocも出力出来るし、便利だと思うんだけどね。
0329nobodyさん
2009/08/18(火) 20:22:43ID:???0330nobodyさん
2009/08/18(火) 20:44:11ID:???0331nobodyさん
2009/08/18(火) 21:19:02ID:???0332nobodyさん
2009/08/18(火) 21:22:22ID:???型指定の中途半端さに対する指摘だったのに、
なぜ型指定自体の論争になるのか理解出来ない。
出来るに越した事は無いし、PHP以外を使えとかどんだけ盲目信者なんだと。
>>330とか本気でそう思ってるならプログラマ辞めた方がいい。
0333nobodyさん
2009/08/18(火) 21:35:48ID:???言語思想がスタートしてるんだから自分がPHPを選んだ上でそれを言うのは非常にナンセンスかと
0334nobodyさん
2009/08/18(火) 21:44:21ID:???いちいち内部で変換するとかC/C++で嫌なほど苦労した
0335nobodyさん
2009/08/18(火) 21:48:46ID:???PHPの型指定に文句言うのは小学生までだよねキャハハキモーイ
0336nobodyさん
2009/08/18(火) 21:59:41ID:???微妙にintオンリーとかあるよね。
0337nobodyさん
2009/08/18(火) 22:44:33ID:???PHP5でOOPよりに思想が変化したじゃん。
引数として型指定出来るようになって、
それはPHPの良さを保ちつつ、必要な箇所は堅牢に出来るってイメージだったんだけど、
stringとかintを型指定出来ない理由が不明なんだよね。
気持ち悪いとは思わないのかなと。
0338nobodyさん
2009/08/18(火) 22:48:16ID:???>PHPは文字列も整数も同じように扱えたほうが便利だよねってとこから
>言語思想がスタートしてる
初耳だ
ソースは?
0339nobodyさん
2009/08/18(火) 23:15:59ID:???0341nobodyさん
2009/08/18(火) 23:41:38ID:???原始人乙としか言いようがない
0342nobodyさん
2009/08/18(火) 23:44:31ID:???0343nobodyさん
2009/08/18(火) 23:48:57ID:???コスト的には何でもないように思えるが、しない理由は何なのだろうか?
ユダヤ教徒の宗教上の理由か?
0344nobodyさん
2009/08/18(火) 23:55:18ID:???出たエラーをハンドリングして判定したらいいんじゃね?
0345nobodyさん
2009/08/18(火) 23:56:17ID:???ネームスペースのバックスラッシュもそうだけど、
何らかの矛盾が生じる実装になっちゃってて技術的に難しいのかもね。
0346nobodyさん
2009/08/19(水) 00:03:44ID:???そんな面倒な事するなら普通に型チェックするコード書く方が早くね・・・?
あとStringクラスが実在したらどーすんのw
0347nobodyさん
2009/08/19(水) 00:05:41ID:???一般的な意味でのオーバーロードもできないんだし
まぁ型チェック程度なら一度値書きゃ使いまわせるし
必ず値がこれだってわかってるなら決め打ってチェックかけなくてもいいしな
例外?しるか、みたいないい加減な実装で、使える値はリファレンス見るか察してくれ
ってのがPHPなんだと思ってる
0348nobodyさん
2009/08/19(水) 02:11:50ID:???0349nobodyさん
2009/08/19(水) 13:16:10ID:???実装することは可能ではあるがPHPでそれをやっても価値がないということ
POSTから文字列で渡ってくる通し番号のためにString→Int変換してから関数に渡すなんてのはもう古い
0350nobodyさん
2009/08/19(水) 15:55:22ID:???根拠が薄い時に使われる事が多い
0351nobodyさん
2009/08/19(水) 18:18:58ID:???論点ずれすぎ。
クラスタイプヒンティング自体が実装されている以上、意味が無いという事は無い。
あと例えが頭悪すぎかつ意味不明。
そんな用途しか思いつかない君には意味が無いのかもしれないな・・・
0352nobodyさん
2009/08/19(水) 19:10:50ID:???こんな所で他人に「頭悪い」とか言ってる暇があったら
頭良いお前が気に入るようにPHPの言語仕様に実装しちゃえば
いいと思うけど〜
0353nobodyさん
2009/08/19(水) 19:12:04ID:???0355nobodyさん
2009/08/19(水) 19:47:41ID:???これがC言語であっても、結局は文字列から数値に変換する必要があるわけだ。
手間は何も変わらない。
0357nobodyさん
2009/08/19(水) 19:51:38ID:???0358nobodyさん
2009/08/19(水) 20:21:23ID:???・privateとかいらないよね!
・interfaceとか何につかうの?w
・abstract?面倒なだけじゃんw
・そもそもclass化すると速度遅くなるし!
・テンプレートエンジン?いらねw PHP自体がテンプレートエンジンだからw
0359nobodyさん
2009/08/19(水) 20:24:49ID:???0360nobodyさん
2009/08/19(水) 20:26:51ID:???で、他の言語もかじってる人がツッコミを入れると袋だたきにされる・・・と。
0361nobodyさん
2009/08/19(水) 20:38:22ID:???その後もプログラマーとして成長できなさそう。
0362nobodyさん
2009/08/19(水) 20:53:47ID:???無名関数とかネームスペースとか、浸透しなさそうだなぁ
0363nobodyさん
2009/08/19(水) 21:13:37ID:sk0qCFj1分かりきってること言ってるだけだし
代替案示されてもふてくされる
ただの馬鹿ですね分かります
0364nobodyさん
2009/08/19(水) 21:36:16ID:???組み込み型もタイプヒンティングしたいって話じゃないの?
代替え案なんてあったっけ・・・?
0365nobodyさん
2009/08/19(水) 21:43:58ID:???function hoge(string $str, int $int, boolean $bool)
{
}
// 型指定無し
function hoge($str, $int, $bool)
{
if (!is_string($str)) new throw InvalidArgumentException();
if (!is_int($int)) new throw InvalidArgumentException();
if (!is_bool($bool)) new throw InvalidArgumentException();
}
0366nobodyさん
2009/08/19(水) 21:54:42ID:???あった方がいいのは疑問の余地がねーんだよ
ただ文句言ってるだけなのが頭悪い
0367nobodyさん
2009/08/19(水) 22:00:29ID:???PHPDocで同様のマニュアルを出力したいんだけど、
現状では@paramに型までキッチリ書かないといけないから面倒すぎる。
0368nobodyさん
2009/08/19(水) 22:06:59ID:???バグを作りこむ可能性が少ない、とか、自分が書くメソッドでチェックしなくてすむから便利つってて、
チェック処理でいいだろ派は、渡される値の型がわからないものを処理する場合
メソッド内でチェックするか外でチェックするかの違いしかないから、
結局チェックかませりゃいいだけじゃん
つってる
そこらへんをお互いが理解してないのか知らんけど、話かみ合ってねーだろw
つか、指定できれば便利、ってのはみんなわかってるだろう
でもぐだぐだ不満垂れようが、結局いまのPHPじゃできないんだから
ここで愚痴るのも馬鹿な話というかお門違い。フレームワークにも関係ねーし
だいたいそういうのはPHPを使うと決めた時点で割り切るべき機能だと思うけどな
型指定できない仕様が向いてないもの作るなら、まずPHPを選択肢から除外するべきじゃ
0369nobodyさん
2009/08/19(水) 22:11:17ID:???最後の2行が余計だな。
スレ違かもしれんが、PHP5以降に対する要望としてはお門違いでも無いし、
嫌なら他の言語使えってのは極論過ぎる。
0370nobodyさん
2009/08/19(水) 22:23:43ID:???0371nobodyさん
2009/08/19(水) 22:27:23ID:???0372nobodyさん
2009/08/19(水) 22:27:48ID:???0373nobodyさん
2009/08/19(水) 22:30:50ID:???0374nobodyさん
2009/08/19(水) 22:34:53ID:???http://php.benscom.com/manual/ja/language.oop5.typehinting.php
0375nobodyさん
2009/08/19(水) 22:36:05ID:???0377nobodyさん
2009/08/20(木) 09:41:50ID:???2〜3枚の軽いけど、DBを一応使う。みたいな要件の時FW使うまでもないかなと考えてるのですが、
そういう時皆はどうやって作ってますか?
規模に関係なくFW使ってる?
それとも、pdoとか使ってべた書き?
0379nobodyさん
2009/08/20(木) 16:29:50ID:???ああ、それは大きいな。しょせんHTTP(というかHTML)には限界がある。
try {
int $num = $_REQUEST['age'];
} catch (Exception $e) {
die("age is not number");
}
こういうのがベスト。連想配列とかオブジェクトを直接REQUEST出来たり名。
0381nobodyさん
2009/08/20(木) 18:26:24ID:???0382nobodyさん
2009/08/20(木) 20:18:13ID:???レスどうもありがとうございます。
コピーしてちょっと設置とか取り回しが面倒だし、
propelだけ入れるってのも手間かけるメリット薄いので、躊躇してました。
0383nobodyさん
2009/08/20(木) 20:28:03ID:???そして会社には絶対に持っていかない
0386nobodyさん
2009/08/20(木) 21:39:30ID:???おかしいことなので例外が発生。
そのとき「値がおかしいぜ!」ってダイイングメッセージ残して
phpが死ぬって意味だろ。
しかしせめて
int $num = Integer.parseInt($_REQUEST['age']);
とかだろ。
0387nobodyさん
2009/08/20(木) 22:03:58ID:???0388nobodyさん
2009/08/20(木) 22:11:25ID:???何か問題でも?
0389nobodyさん
2009/08/20(木) 23:16:59ID:???そもそも、それはPHPのコードなのか?
0390nobodyさん
2009/08/20(木) 23:42:04ID:???静的および強い型付けの支持者と動的および自由な型付けの支持者の間では衝突が度々おきる。
前者のグループは厳密な型付けの使用によって、処理系がより多くのエラーを
問題が大きくなる前に発見できるようになると主張している。
後者のグループはより気軽な型付けによってコードはよりシンプルなものになり、
そのようなコードは解析しやすいとされるので、エラーは減少すると主張している。
型推論がある言語では型を手で宣言する必要はほとんどないので、強い型付けに伴う開発のオーバーヘッドは低減される。
個人がどのグループに分かれるかは、開発しているソフトウェアの種類やチームのメンバーの能力、
他のシステムとの対話性の度合い、開発チームの規模などに依ることが多い。
少人数で小回りのきくプロジェクトには気軽な型付けがより合い、フォーマルで大人数で仕事が分断されている
(プログラマ、アナリスト、テスト部隊、など)プロジェクトは厳密な型付けのほうがうまくいくことが多い、と結論づける者もいる。
0391nobodyさん
2009/08/20(木) 23:51:57ID:???実行速度という面では静的型に劣ると考えられている。反面多態性や記述の容易さで動的型は融通が利き、
Smalltalkなどのオブジェクト指向言語、スクリプト言語は動的型を採用するケースが多い。
動的型と静的型のどちらが安全なプログラムを記述できるのかは長年論争の的であるが、
双方とも適した問題領域、適した開発スタイルが存在し、異なった安全観念を持つ点を理解しなければならない
通常、静的型付けはオペレーティングシステムやシステムプログラムのような大規模で厳密性が要求される領域に適合するといわれている。
反面最初の型定義を誤ると一部分の影響が全体に波及すること、また柔軟性に乏しくわずかな変換に手間のかかる経路を用意したり
同じような機能を型別に実装しなければならないことなど、いわばお役所仕事的な煩雑さを伴うという弱点を持つ。
(なお近年の研究により静的型付けの言語も文脈から型を推論する型推論能力を持つなど簡略化の方向へ向かってはいる)
一方動的型付けの言語ではそもそも対象に特定の構造を期待しないため変更への対応は柔軟である。
特に配列、辞書、集合といったコレクションの利便性が顕著で、そのため近年いわゆるスクリプト言語は多くが動的型付けを採用している。
動的型付けの難点である最適化の弱さは、コンピューターの能力が増すことで相対的に小さな問題になっており、
スクリプト言語を中心に今後も動的型付けは発展するものと思われる。
0392nobodyさん
2009/08/20(木) 23:55:54ID:???部分的に強い型付けが出来る程度がPHPの理想系な気がする。
0393nobodyさん
2009/08/20(木) 23:58:39ID:???0394nobodyさん
2009/08/21(金) 00:09:49ID:???ライブラリが揃ってない時点でPHPerは移行しないだろ。
なぜなら自前で実装する知識が無いから。
フォームデータのパースすら出来ない人がほとんどなんじゃない?
0395nobodyさん
2009/08/21(金) 00:12:22ID:???0396nobodyさん
2009/08/21(金) 00:25:19ID:???0397nobodyさん
2009/08/21(金) 00:28:39ID:???0398nobodyさん
2009/08/21(金) 00:30:56ID:???0399nobodyさん
2009/08/21(金) 01:28:55ID:???俺は自作のフレームワークもどきを使っているよ。
最小でPHPファイル1つで完結する。
フレームワークというより、ファイルの置き方を決めた程度だけどな。
PHPを使わないでベタで書いたものから
簡単に移行できる設計になっているから、
ベタでかいていたけど、PHPファイルが数枚になって
ディレクトリ構造とか考え出したときに、すぐに変更できる。
0400nobodyさん
2009/08/21(金) 01:45:00ID:???0401nobodyさん
2009/08/21(金) 02:00:22ID:???CakePHPスレで見た希ガスwww
http://pc11.2ch.net/test/read.cgi/php/1236563737/617
0402nobodyさん
2009/08/21(金) 02:28:35ID:???0403nobodyさん
2009/08/21(金) 03:10:01ID:???0405nobodyさん
2009/08/21(金) 12:24:36ID:???http://www.ibm.com/developerworks/jp/xml/library/x-agavipt1/?ca=drs-jp
何故か今agaviが!
0406nobodyさん
2009/08/21(金) 16:00:04ID:???var_dump(strpos(100, '10'));
何で結果が違ってくるの?
0409nobodyさん
2009/08/21(金) 17:34:09ID:???ttp://jp.php.net/manual/ja/function.strpos.php
> needle が文字列でない場合は、 それを整数に変換し、
> その番号に対応する文字として扱います。
0410nobodyさん
2009/08/23(日) 14:47:30ID:???0411nobodyさん
2009/08/23(日) 15:53:07ID:???0412nobodyさん
2009/08/23(日) 15:53:16ID:???0413nobodyさん
2009/08/24(月) 02:01:45ID:???よく見たら<?=$val ?>じゃないのね。
そりゃ構文エラーだわ。
0415nobodyさん
2009/08/24(月) 12:42:48ID:???キー打つ時間がもったいねーだろ
0416nobodyさん
2009/08/24(月) 14:52:54ID:???0418nobodyさん
2009/08/25(火) 00:20:28ID:???0419nobodyさん
2009/08/25(火) 13:33:43ID:amBbmp7F補完を知らない暇人乙
0420nobodyさん
2009/08/25(火) 16:12:34ID:???俺も自作って言うか、ZendFWを自分の使い易いようにラッパーした物使ってる。
つうかZendFWが予想以上に出来る子だった。
0422nobodyさん
2009/08/25(火) 17:36:36ID:???やぁ俺。だが現実的にphp4の環境で動いているところが多くて、結局自前ラッパーフレームワーク互換の
php4用自前フレームワークもどきを作って2つをメンテナンスしていく羽目になって泣いている。えーん。
0423nobodyさん
2009/08/25(火) 18:57:14ID:???フォーム入力のバリデーションをしてエラーがあった場合、HTTP Response のステータスコードは何にすればいいでしょうか。
今までは特に指定してなかったので、結果として 200 OK を使っていたわけですが、
今度から Ajax 用のAPIを用意することになり、フォーム入力にエラーがあるかどうかを
HTTP Response のステータスコードで表すことになりました。
しかしどのステータスコードを使っていいのかよくわかりません。
フォーム入力にエラーがあることを表すにはどのステータスコードが適切でしょうか。
このスレはレベルの高い人が多いようなので、アドバイスをよろしくお願いします。
0424nobodyさん
2009/08/25(火) 19:42:58ID:???そもそも用途が違う
ページリクエストに対して返すもので、コンテンツのエラーは管轄外
0425nobodyさん
2009/08/25(火) 20:10:47ID:???通信自体は成功しているから200にしておくべき
XMLかJSONかわからないけど、status項目等を追加してシステム独自のエラーコードなりエラーメッセージで判断するのが普通と思われる。
0426nobodyさん
2009/08/25(火) 20:33:19ID:???補完云々以前に
> <?=$val?>
> <?php echo $val ?>
こういうコーディングする時点で終わってる。
0428nobodyさん
2009/08/25(火) 21:28:37ID:???0430nobodyさん
2009/08/25(火) 21:59:54ID:???0431nobodyさん
2009/08/25(火) 22:19:15ID:???PHP5.3に入れ替えてプログラム実行したら
ソースコードが表示されて混乱した。
0434nobodyさん
2009/08/25(火) 22:55:34ID:???うん。詳しくは検証していない。
php.iniで設定できるのかもしれないし、
自分がやったのがCLIだったので、CLIだけかもしれないし、
include/requireで読んでいるものは関係ないかもしれない。
が詳しくは検証していない。
考えてみれば、パスワードが含まれたファイルでミスってたら危険だね。
0435nobodyさん
2009/08/26(水) 00:35:59ID:???くだすれ行け
0436nobodyさん
2009/08/26(水) 02:01:58ID:???頭悪いとかってレベルじゃねーぞ…
そういう基本的なことすら理解してないって、よく恥ずかしげもなく宣言できるもんだなw
だいたいショートタグなんて使う意味がないだろ
1ファイル中に何度も書くもんでもないし、XMLとぶつかるし、こういうアホ達がやらかすし、
使わないようにしよう言われるようになってからもだいぶ久しいってのに…
0437nobodyさん
2009/08/26(水) 02:29:31ID:???0438nobodyさん
2009/08/26(水) 02:31:38ID:???そもそもHTTPリクエストに対するレスポンスのステータスを示すものであって
一般的にはバリデート結果の通知に用いるような使い方はするべきでない
そういうアホなことやってる企業とかもあるにはあるし、
解釈の仕方ではそういう用途に使えると曲解できなくはないと思うけど、
悪いこと言わんからレスポンスのなかにフラグでも持たせて判断するべき
つーかスレ違いだし、まず ftp://ftp.rfc-editor.org/in-notes/rfc2068.txt 嫁
0439nobodyさん
2009/08/26(水) 02:33:38ID:???0440nobodyさん
2009/08/26(水) 03:57:01ID:???センスを疑うよ、まったくwww
0441nobodyさん
2009/08/26(水) 10:01:33ID:???0442nobodyさん
2009/08/26(水) 10:57:59ID:???単に、<? と ”間違って” 書いただけだろ。
俺は人生で今まで一度も間違ったことが無いってやつは
挙手しろよ。
うそつき認定してやっから(爆笑)
0443nobodyさん
2009/08/26(水) 12:45:13ID:???0444nobodyさん
2009/08/26(水) 13:16:19ID:???0445nobodyさん
2009/08/26(水) 13:29:22ID:???コードレビューしたら笑われても文句言えないレベル。
>>421
スニペットとかコードテンプレートでぐぐれ。
0446nobodyさん
2009/08/26(水) 14:56:15ID:???0447nobodyさん
2009/08/26(水) 14:56:32ID:???0448nobodyさん
2009/08/26(水) 14:59:35ID:???0449nobodyさん
2009/08/26(水) 15:03:19ID:???参っちゃう
0450nobodyさん
2009/08/26(水) 15:09:20ID:???0451nobodyさん
2009/08/26(水) 15:14:27ID:???てかHTML5が出たからXMLなんてもはや下痢便以下の存在だろ
そんなもののために便利なショートタグ使わないことが許されるのは小学生まで
0452nobodyさん
2009/08/26(水) 15:18:50ID:???0453nobodyさん
2009/08/26(水) 15:29:16ID:???えっ
0454nobodyさん
2009/08/26(水) 16:18:36ID:???どうしてもって言うなら、JSPみたいに<%なんかに変えちゃった方が良かったと思う。数少ないPHPのメリットなのに。
0455nobodyさん
2009/08/26(水) 16:28:09ID:???0456423
2009/08/26(水) 16:41:30ID:???>通信自体は成功しているから200にしておくべき
えー、そうでしょうか。「通信の成功」って、どのことを指してます?
>XMLかJSONかわからないけど、status項目等を追加してシステム独自のエラーコードなりエラーメッセージで判断するのが普通と思われる。
そういう項目を追加したくないので status code を使いたいんですけどだめですか。
>>429
>通信自体は成功しているから200にしておくべき
>
>これは無いだろう
ですよねー。
>>432
>400 Bad Requestじゃね?
最初はそのつもりだったんですけど、仕様書によると、400はHTTP Requestの構文が違っていることを表すものなので、
validation errorを表すのには不適切ではないかとおもいました。(それで今回質問したわけです。)
0457nobodyさん
2009/08/26(水) 16:49:29ID:???少なくとも推奨されるべきものでは無い。
0458423
2009/08/26(水) 17:01:58ID:???こちらのページを参考にした結果、422 Unprocessable Entity を使うことにしました。
このステータスコードは、たとえば送信されたXMLデータが妥当でなかった場合などに
使われるようなので、validation error のときもこれでいいだろうと思います。
以下引用:
> 422 Unprocessable Entity
>
> | 422 (Unprocessable Entity) ステータスコードは、サーバはリクエストエンティ
> | ティの内容タイプは理解でき (そのため 415 (Unsupported Media Type) ステー
> | タスコードは不適切である)、リクエストエンティティの構文は正しい (従って
> | 400(Bad Request) ステータスコードは不適切である) が、含まれる命令を処理
> | できないという事を意味する。 例えば、XML リクエストボディが
> | well-formed である (すなわち、構文的に正しい) が、意味的に誤った XML 命
> | 令を含む場合、このエラー状態が生じるであろう。
>
>
> ステータスコード 422 は、WebDAV について記述されている RFC 4918 内で定
> 義されています。
>
> リクエストに同封されるエンティティが処理できない場合に、このステータス
> コードが返されます。 例えば、上の文にあるように、エンティティ中の XML
> が妥当{valid} でない場合が考えられます。
すれちがいすみませんでした。
0459nobodyさん
2009/08/26(水) 17:49:16ID:???> PHPが書かれたファイルにXMLが書かれてるケースなんてほとんどないだろ
確かに
> てかHTML5が出たからXMLなんてもはや下痢便以下の存在だろ
HTML5の規格は調べてないから知らないが、どうせXML文書だろ。
XMLとXHTMLの違いも分からないのか?
> そんなもののために便利なショートタグ使わないことが許されるのは小学生まで
非推薦のショートタグを使うことが許されるのは素人だけ
0460nobodyさん
2009/08/26(水) 18:05:09ID:???ショートタグの何を恐れているのか
理解できない。
0462nobodyさん
2009/08/26(水) 19:10:34ID:???0463nobodyさん
2009/08/26(水) 19:27:27ID:???未対応設定になってるサーバがあったり、
顧客の社内規約で禁止になってたりするからじゃない?
個人的にはオープンソースなスクリプトでショートタグ使ってたら、一気に醒める。
利便性より汎用性。
0465nobodyさん
2009/08/26(水) 19:48:29ID:???finally 実装しないでgotoだもんな。
しかも try/catchより goto の方がコードが綺麗になるとか言っちゃうくらいだし・・・
PHPユーザの質の低さがばればれだよね。
(ネームスペースもgotoもユーザ意見で最終決定したと思われる)
ここもいずれ、goto厨が湧いて「便利なのになんで使わないんだ!」とか言い出すんだろうね。
0466nobodyさん
2009/08/26(水) 20:36:58ID:???goto hell
hell: die('\(^o^)/オワタ');
0468nobodyさん
2009/08/26(水) 23:06:50ID:???0469nobodyさん
2009/08/26(水) 23:09:07ID:???0470nobodyさん
2009/08/27(木) 00:16:44ID:???0471nobodyさん
2009/08/27(木) 00:30:50ID:???0472nobodyさん
2009/08/27(木) 00:59:08ID:???通りで・・
0473nobodyさん
2009/08/27(木) 01:01:36ID:???0474nobodyさん
2009/08/27(木) 01:09:14ID:???VIEW専門の無知な奴がよく理解もしてないのにショートタグ使って俺玄人だぜ気分に浸って
>>431,433みたいな事とやらかしてしまうんじゃろうて
0475nobodyさん
2009/08/27(木) 02:19:34ID:???0476nobodyさん
2009/08/27(木) 02:58:15ID:???<?=[ENTER] で <?php echo | ?> とか
<?=h[ENTER] で <?php echo htmlspecialchars(|) ?> (パイプがキャレット位置)とか
したらいいじゃん。
0477nobodyさん
2009/08/27(木) 08:19:45ID:???Yahoo!とかGooのサービスのHTMLソース見るとHTMLのコメントだらけ。
0478nobodyさん
2009/08/27(木) 08:29:29ID:???0479nobodyさん
2009/08/27(木) 10:32:53ID:???0480nobodyさん
2009/08/27(木) 11:01:40ID:???かな?
0481nobodyさん
2009/08/27(木) 14:21:24ID:???Smarty厨は隔離スレに帰れwww
0482nobodyさん
2009/08/27(木) 15:16:20ID:???こうやってスレ違いに厳しくなってしまうんだけど、しょうがない部分もあるよね。
0483nobodyさん
2009/08/27(木) 23:11:52ID:???非対応環境があるから、フレームワークを作る上では敬遠されている。
バージョンアップや設定ミスで、ショートタグが動かなくなった場合のリスクを考えると、あまり賢い選択では無い気がする。
0484nobodyさん
2009/08/27(木) 23:31:50ID:???0485nobodyさん
2009/08/27(木) 23:46:10ID:???でもここはフレームワークについて語るスレ13
__
, ‐' ´ ``‐、 / ̄:三}
. /,. -─‐- 、. ヽ / ,.=j
_,.:_'______ヽ、 .! ./ _,ノ
`‐、{ へ '゙⌒ `!~ヽ. ! /{. /
`! し゚ ( ゚j `v‐冫 , '::::::::ヽ、/ そんなことよりフレームワークの話しようぜ!
. {.l '⌒ ゙ 6',! / :::::::::::::::/ __
. 〈 < ´ ̄,フ .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
. ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠. ヽ_} ゙ヽ
,.r` "´ /:::::::::::::::::::ィ´ `ゝ !、 /
/ / :::::::::::::::: ; '´ /´\ / r'\
. i ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
{ {:::::::::::;:イ / ‖i:::::::/:::::::::::::/ \
. ヽ ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /
0486nobodyさん
2009/08/28(金) 04:53:58ID:???0487nobodyさん
2009/08/28(金) 09:51:01ID:???0488nobodyさん
2009/08/28(金) 15:24:35ID:???0489nobodyさん
2009/08/28(金) 21:22:50ID:???0490nobodyさん
2009/08/28(金) 21:29:19ID:???1テーブル1コントローラがキモすぎて吐いたわ
どんな顔してあんなの使ってるのか見てみたいものだね
0491nobodyさん
2009/08/28(金) 21:47:30ID:???柔軟性がなさそうできもいとかそういう感じ?
0492nobodyさん
2009/08/28(金) 22:00:20ID:???コントローラはコントローラ、モデルはモデルだろ・・
0493nobodyさん
2009/08/28(金) 22:38:15ID:???くっついてると言うよりは単に名前を同じようにすることを推奨してる感じかな。
規約上では例えばuserモデルにはusers_controllerを対応させるように、って仕向けてるけど、
そのくっつき感が嫌ならhogefuga_controllerでuserモデルを使用するってこともできる。
なんかうまく書けないな…ごめんなさい
0494nobodyさん
2009/08/28(金) 23:05:40ID:???0495nobodyさん
2009/08/28(金) 23:13:37ID:???DB table <-> Model <-> Controller が全て1対1対応になっている
(ように見える)はデフォルトの規約のせい。
実際はどうにでもできるし、また習熟すればModel中心で
開発できるようにもなる。
0496nobodyさん
2009/08/29(土) 00:20:46ID:???PHPの学習コストの低さを完全に打ち消しちゃってるよね。
進化も早いから新人教育が本当に面倒くさい・・・。
0497nobodyさん
2009/08/29(土) 01:33:51ID:???そもそもお前は考え違いをしてる
フレームワークは素人が使うもんじゃなくて
それなりに習熟した奴が工数を減らすために使うんだ
だから学習コストが必要になるのは当たり前
0498nobodyさん
2009/08/29(土) 01:50:29ID:???工数減らす事より、コーディング品質を上げる為に導入って会社の方が多い気がするけど・・・
規模が大きければ大きいほど、工数の大半はビジネスロジックになるから
フレームワークで減らせる工数なんてたかが知れてない?
逆に無謀なカスタマイズを要求されて、時間と技術を無駄にしている気すらある。
0499nobodyさん
2009/08/29(土) 02:08:14ID:???中身と使い方を理解しなければ使い物にならないんだぞ
0500nobodyさん
2009/08/29(土) 03:52:12ID:???具体的にどの辺りが大規模向けなの?コントローラとかのディレクトリが階層状態になってるから
ファイルが多くなっても大丈夫、とかだけじゃないよね?
0501nobodyさん
2009/08/29(土) 05:08:19ID:???というかFW無しで、それなりの規模でしっかりしたWEBアプリ作れるように新人教育する方が確実に大変だろ・・
>>492
きちんと使ってもいないのに語るのはやめた方がいいよ。
MVCきっちり分かれてるし、自由に切り替え可能。
モデル使わないコントローラーだって当然可能だし。
0502nobodyさん
2009/08/29(土) 13:14:13ID:???FW使っても設計が出来ないと、大規模開発には耐えられないけどね。
PHP自体をしっかり憶えて、そういう基礎知識を伸ばす方が重要だと思う。
0504nobodyさん
2009/08/29(土) 14:47:27ID:???規約ってどのくらいの範囲まで及んでるのかな?
ディレクトリ名とかファイル名とかクラス名とかDBのテーブル名とか参照できる変数名とかキーの名前くらい?
0505nobodyさん
2009/08/29(土) 19:25:33ID:???名前じゃなくて中身が本質なんだと思うがw
命名規則とかタブ幅とかが書かれたコーディング規約だけじゃなくて、
CoC的な意味での設定とか規約とかも含めた、構造そのものが範囲じゃないかな。
すげーざっくり言うと「コードを書く場所を機能別に分ける」ってことだよ。
ファイルを階層別に分けるのも、命名規則をつけるのも、その目的を果たすためにしたことだ。
個人的には、symfonyが大規模案件に向いているというのはすごく眉唾で、
「PHPの実績あるフレームワークで大規模案件をやるならsymfonyしか選択肢がない」
というのが日本の実情に近いんだと思う。
0506nobodyさん
2009/08/29(土) 19:30:32ID:???0507nobodyさん
2009/08/29(土) 21:21:47ID:???「設計がしっかりしてる」ってのをどこで判断するんだ、って話だ
symfonyに限らず、実際にそのフレームワークで構築された大規模サイトがある、ってのは、大規模な案件になっても設計的に破綻しないという何よりの証明
採用件数が多ければ、トラブルシュートの類も蓄積されてるだろうしな
ユーザー数が多いという事は、本体の開発者も多い事が期待できるし
0508nobodyさん
2009/08/30(日) 03:07:06ID:???0509名無しさん@そうだ選挙に行こう
2009/08/30(日) 04:05:27ID:???「開発規模が大きくなることを念頭に置かれた設計である事」に魅力を感じるか?
と自分に問うと、自分の場合はそうは思わん。(仕事の面白さ的にも)
ただ「運用していくうえでのスケーラビリティだけは確保しときたいよね」って所と、
コードの見通しの確保、あと万一ソースコードを他者に引き継ぐとかって話になった時に
話が少しだけ早くなる、っていう3点だな。
自分がPHP案件でオープンなアプリケーションフレームワークを利用する意味は、そのくらいだと思う。
まあ、自分みたいなタイプは少ないかもしれん。
もしかしたら結構みんな、多数の人員で多くの人月かける仕事が好きなのかもしれないし。
0510名無しさん@そうだ選挙に行こう
2009/08/30(日) 15:50:15ID:???俺は大規模案件に魅力を感じる。
みんな知ってるあのサイト、実は俺俺フレームワークで動いてるんだぜ、
とか言ってみたいものだわ。そういうのに挑戦していきたい。
「Railsもどきを作りましょう」じゃなくて「案件ありき」で作った。
俺がsymfonyをリスペクトしてる理由は、それだけだな。
フレームワークとしてはちっとも高性能でも万能でも無いと思うが、
大規模案件のお手本にするには十分ためになるよ。
あと、微妙に「大規模」の定義がずれてるような気もするw
0511名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:08:56ID:???最終的には素のPHPで必要最小限の処理を手続き的に書くのが最速になる
この場合の「大規模」は、機能数や、エンジニア数(工数)という意味での「大規模」だと思う
0512名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:26:32ID:???0513名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:46:32ID:???0514名無しさん@そうだ選挙に行こう
2009/08/30(日) 17:02:32ID:???0515nobodyさん
2009/08/30(日) 20:19:55ID:???いろいろ便利
0516nobodyさん
2009/08/30(日) 20:21:56ID:???もちろん探せば使えるところあるだろうけど、
PHPぐらいにたいてい対応しているレベルになるかなってこと。
0517nobodyさん
2009/08/30(日) 20:41:39ID:???0519nobodyさん
2009/08/30(日) 21:00:01ID:???0520nobodyさん
2009/08/30(日) 21:11:36ID:???0521nobodyさん
2009/08/30(日) 21:37:54ID:???0522509
2009/08/31(月) 00:45:30ID:???>>511
確かに「工数としての大規模」と「アクセスが大規模」の話がこんがらがってるね。
自分が言いたかったのは、前者の意味での大規模に、それほどの面白みを(個人的には)感じないという事。
でも、当然アクセス規模が(意図する・しないにかかわらず)大きくなるような案件には夢を感じる。
そういう時に、後からスケールアウトしやすく設計されているフレームワークを使っておくのはひとつの手だと思う。
最初からDBレプリケーションだのmemcacheだの利用した実装してアクセス全然だったらアチャーって思っちまうし。
話のポイント外してるようだったらごめん
0523nobodyさん
2009/08/31(月) 11:01:34ID:???俺俺フレームワークをかぶせるのがベストプラクティスだと思っている。
DBとかセッションとか普遍的なロジックはライブラリ集を使って、
認証やバリデーション、コントローラ/モデルあたりの毎回ロジックに改修が入る部分は、
自分の使いやすい方式で実装するのが良いと思う。
質問スレとかで、自分で書けば数行のものを、むりくりフレームワークを改修して実現しようとしている人を見ると微妙な気持ちになるわ。
0524nobodyさん
2009/08/31(月) 11:18:48ID:???はげしく同意。
フレームワークを使っても、毎回どっか改造しなきゃいけないところがあって、
なんかフレームワークを使ううまみがかなり減るよなーといつも思う。
0525nobodyさん
2009/08/31(月) 11:28:59ID:???けど他人が絡むのであれば、それではまずいだろう。
0526nobodyさん
2009/08/31(月) 11:39:25ID:???個々がフリーダムにコーディングしてしまうとまずいだろうが、
ある程度の規定を決めて社内フレームワーク的なモノにすればよくね?
仮に特定のフレームワークを導入したとしても、連携とれるかどうかは別だしさ。
むしろ既存フレームワークを誰かがカスタマイズしてしまうと、余計にカオスな状況になる気がする。
0527nobodyさん
2009/08/31(月) 11:49:57ID:???大抵、設定ファイルという名の新言語になっている。
0528nobodyさん
2009/08/31(月) 11:51:07ID:???>むしろ既存フレームワークを誰かがカスタマイズしてしまうと、余計にカオスな状況になる気がする。
ほんとだよ
0529nobodyさん
2009/08/31(月) 12:36:19ID:???> ある程度の規定を決めて社内フレームワーク的なモノにすればよくね?
であれば既存のフレームワークでいいのでは?
なぜ、車輪を再発明してまでFWを自作したい?
よっぽど特殊なドメインのWebシステムで無い限りはそんな必要性ないかと。
0530nobodyさん
2009/08/31(月) 12:51:53ID:???全部自分で作ってみたいんだよ。
フレームワークみたいなブラックボックスが我慢できないんだよ。
0531nobodyさん
2009/08/31(月) 14:23:01ID:???0532nobodyさん
2009/08/31(月) 14:33:19ID:???ハナから黙ってそれを使え。
0533nobodyさん
2009/08/31(月) 14:54:03ID:???結果的に使う人にとっては、同じようなFWになる気がするけど
自社だろうが、既存フレーワークだろうが使用するだけの人にとっては今まで出てきたような問題のメリットもある。
すでに十分な機能の自社フレームワークがあるならいいけど、既存のFWより機能の少ないものを作ってそんなにメリットあるのかな。
速度?でも色々付けたらそんな変わらないんじゃないの?
0535nobodyさん
2009/08/31(月) 15:06:09ID:???>であれば既存のフレームワークでいいのでは?
おまえさ、もうちょっと話の流れを追ってから書き込もうぜ。
526だけじゃなくて、もうちょっと上の523あたりから読んでみなよ。
既存のフレームワークに問題点を感じているから話がはじまったのに、
「既存のフレームワークでいいのでは?」とはこれいかに。
0536nobodyさん
2009/08/31(月) 15:48:00ID:???っていうか俺今までいろんなフレームワーク使ってきたことがあるが、
フレームワーク自体に手を入れなきゃいけなかったことなんて一度もないんだが。
単に、フレームワークを使いこなせていないだけなのでは?
0537nobodyさん
2009/08/31(月) 16:49:29ID:???大げさなラッパーコードを書かなきゃいけないのが不毛だって話だよね。
てゆーかどんなフレームワーク使ってても、
自然とそれを覆う為の俺俺フレームワーク(クラス群)が出来上がらないか?
>>536
フレームワーク自体は書き換えないだろ・・・
それを覆うコード群が膨大になると結局カオスになる。って事かと。
0538nobodyさん
2009/08/31(月) 16:57:10ID:???>>533
全てを再発明するわけでは無いよ。
既存フレームワークの設計上、実装が面倒になりそうな部分は、自前で書く方がメリットあるんじゃない?
既存フレームワーク + 自作の使いやすいコンポーネント = 俺俺フレームワーク
0539nobodyさん
2009/08/31(月) 17:00:43ID:???っていうのは同意
特殊なものを作ってるのかもしれないが
0540nobodyさん
2009/08/31(月) 17:20:51ID:???継承クラスや、ラッパーを作って使っている。
普通はするよ・・・ね?
0541nobodyさん
2009/08/31(月) 18:16:46ID:???0542nobodyさん
2009/08/31(月) 18:25:43ID:???1. FWなし
2. 100%俺俺FW
3. 100%一般的なFW
4. 一般的なFWの上に、俺俺FW
俺の場合、新しいプロジェクトを作るときは、たいていそれまでに作った
似たようなプロジェクトのコードをテンプレート代わりに使ったりするから、
上の分類だと4ということになるのか?
0545nobodyさん
2009/08/31(月) 20:37:26ID:???0547nobodyさん
2009/08/31(月) 21:01:44ID:???ラップするのは普通だし現実的だと思う
>>540が何でもかんでもとにかくラップするっていう話なら
ちょっと無駄な気はする。まあ、何でもかんでもってことは
さすがにないか
0548nobodyさん
2009/08/31(月) 21:22:25ID:???ありかなと個人的に思う。
学習についてはいろいろあるだろうけど、今まで作ってて結局周りを巻き込んで学習する時間なかったり
するもんで、php4とかで使用してたライブラリのコール仕様になるべく併せた形に書き換えて作ったことは何度かあった。
0549nobodyさん
2009/08/31(月) 21:53:21ID:???> 後からスケールアウトしやすく設計されているフレームワーク
実際、無いよなあw
だから、俺俺フレームワークでラップしてるような気がする。
開発者や開発案件の思想に依存する「俺俺スケール」が先にあるのかも知れない。
やってる事がbug-fixにとどまらず、俺俺部分に意志が入っちゃうんだよね。
>>542の分類で言うなら、
「一般的なFWの上に、俺俺bug-fixを加えただけのもの」
があってもいいはずなのに、なかなかそれだけで改造が終わることが無いw
0550nobodyさん
2009/09/01(火) 00:17:27ID:???差し迫った必要に迫られても、同じインターフェイスを持つ別のクラスを返すようにすればサクっと入れ替えられるしな。
まあ、DIなわけだが。
俺の場合、PDOのラッパークラスはかなり頻繁に作るな。フレームワークじゃなくて言語組み込みだからちとアレだが。
全メソッド呼び出しを記録できると色々便利。
0551nobodyさん
2009/09/01(火) 00:45:04ID:???0552nobodyさん
2009/09/01(火) 02:31:52ID:???> >>522
> > 後からスケールアウトしやすく設計されているフレームワーク
>
> 実際、無いよなあw
>
お前はFWを使いこなせてないだけ。
0554nobodyさん
2009/09/01(火) 08:56:29ID:???0556522
2009/09/01(火) 15:33:02ID:???レスありがとう
自分自身の感覚になってしまうけど、
CakeにしろSymfonyにしろ(この2つしか例に出せないゴメン)、
十分にスケールアウトを考慮した設計になってると思うよ。
でも逆に言えば、サーバ一台で完結させるような場合には、どうしてもオーバーヘッドが出て来るよね
むしろ本当に書き捨てでいいアプリならば、これらを使わずに
「俺俺」や「素のPHP」でもいいと思う。というかむしろそうする。
0557549
2009/09/02(水) 00:38:03ID:???ん?
俺は>>522読んで、(アクセス規模に対する)スケールアウトという言葉の用例が、
DBレプリケーションやmemcacheにかかってるんだと思ってた。
>>556
アクセス規模が増えてDBレプリケーションやmemcacheを使いたくなった時に、
Cakeやsymfonyだと簡単に移行できるかどうかって話だよね?
>>511と同じく、個人的にはそうは思えなかったけど、改めて調べてみると、
CakeではDBレプリケーション対応は簡単みたいだね。Propel13はダメだ(反論求む)
それに後付けのmemcache対応はどっちでも難しい。(反論求む)
sfSuperCacheも後付けで使うには設計を直す必要があるし(反論求む)
URIの変更もsfRouteやroutesだけの設定じゃ厳しい(ずれてる?)
0558nobodyさん
2009/09/02(水) 01:52:53ID:???0560nobodyさん
2009/09/02(水) 02:55:20ID:???0561nobodyさん
2009/09/02(水) 02:57:03ID:???そこがFWとして魅力を感じないよね・・
CakePHPのライブラリとして使うと結構その辺を補えるという話を聞くけど
0562nobodyさん
2009/09/02(水) 03:48:50ID:???dbの分散化対応は面倒くさいけど
0563nobodyさん
2009/09/02(水) 03:50:53ID:???たんに良くあるキャッシュコードでファイルに保存する代わりに
メモリに保存してるだけだろ?
0564nobodyさん
2009/09/02(水) 07:49:25ID:???ドイツ発のフレームワークってないし
0565nobodyさん
2009/09/02(水) 08:50:15ID:???0566nobodyさん
2009/09/02(水) 08:53:58ID:???0567nobodyさん
2009/09/02(水) 08:54:57ID:???0568nobodyさん
2009/09/02(水) 08:59:30ID:???0569549
2009/09/02(水) 11:30:11ID:???kwsk
>>562
DBレプリケーションも、それ前提で自作すりゃ簡単だろうさ。
memcacheもそうで、key-value型のホルダを先に作っておけば移行は容易。
でもmemcacheでやりたい事がテーブルやクエリ結果のキャッシュだったら、
それはフレームワーク備え付けのDBアクセス手段じゃ実現困難だよねって話。
0570nobodyさん
2009/09/05(土) 05:37:36ID:HKGmqHHH日記サイトみたいなの作ってるんだけど
なんかJOINの結果が変。
他のDBに切り替えようと探してたらPosqlていうドライバ見つけた。
これけっこうイイカモ。
SQLダンプからインポートして今のとこ順調。
0571nobodyさん
2009/09/05(土) 10:54:07ID:???>でもmemcacheでやりたい事がテーブルやクエリ結果のキャッシュだったら、
>それはフレームワーク備え付けのDBアクセス手段じゃ実現困難だよねって話。
>>562は、この点↑を含めて、既存のDBアクセス周りをラップする
クラスを作ればいいんじゃね?って言ってるんだと思うぞ
それに何でもかんでもmemcache頼みってのもどうかと思うぞ
DB周りのメモリチューニングとか、あるいはオンメモリDBを使うとか
その辺は検討したのか?
0572522
2009/09/05(土) 12:55:50ID:???> それに何でもかんでもmemcache頼みってのもどうかと思うぞ
ごめん、memcacheの話は自分が最初に振っちゃったので、
>>549 (>>569)関係ない。
自分は>>549 (>>557) 読んで、まあ確かに、config書き換えですぐに対応出来る訳ではないよなーと
思った。
0573nobodyさん
2009/09/05(土) 15:47:56ID:???フレームワークが出ても良いと思うんだ。
0575nobodyさん
2009/09/05(土) 17:08:00ID:???0576nobodyさん
2009/09/05(土) 17:51:14ID:???そういうこと。
キャッシュではなくモデルがkey-valueを基礎としているフレームワーク
O/Rつかってリレーショナルなデータをオブジェクトに変換するより
楽じゃないかと思うけどな。
ストレージとして、barkleyDBのようなkey-valueなデータベースだけじゃなく
ファイルやRDBにも格納できる設計で。
0577549
2009/09/06(日) 02:19:24ID:???> 既存のDBアクセス周りをラップするクラスを作ればいいんじゃね?
DBの結果セットをmemcachedに移行するというアプローチは、
自分でやった時はうまくいかなかったなあ。
結局、ご指摘の通りにオンメモリにして逃げちゃった。
なので、簡単に後付けで移行出来る方法があるなら良いなぁと思ったし、
無いんでないかなーと>>549で言っちゃった。
>>573-576
東京なんちゃら対応のなんちゃらモジュールがCakePHPで動くらしいね。
Cakeはよくよく調べてみるとみんなで結構何とかしちゃってる感がある。
0578nobodyさん
2009/09/06(日) 16:08:50ID:55qWNNESPerlは正直「使える」程度なんでPHPにしようと思うんだが、Pearを使わないでファイルコピーで設置完了することが可能なFWってあるかな?
一応SymfonyはSandbox使えば可能なのは知ってるが、流石に少々重たいかと思ってね。
・・・ま、「チャットごとき素のPHPで書けよ」ってのは御説ごもっともなんだがw、
どうもバリデータやHTML/SQLサニタイズを手で書くのは億劫になってね。
FWに慣れすぎたかもw
0579nobodyさん
2009/09/06(日) 16:39:56ID:???0580nobodyさん
2009/09/06(日) 16:53:37ID:???0582nobodyさん
2009/09/06(日) 17:02:52ID:???smarty(笑)
0583nobodyさん
2009/09/06(日) 17:13:23ID:???0585nobodyさん
2009/09/06(日) 17:53:04ID:???0586nobodyさん
2009/09/06(日) 17:53:38ID:???0587nobodyさん
2009/09/06(日) 20:33:41ID:???全部1クラスにまとめたようなレトロな作りにしても十分じゃね
FTPでアップロードして権限振ったらすぐ使えます、のほうがいいような相手なんでしょ
大体バリデーションつっても、入力文字の<>&あたり置換すりゃ早々問題なんて起きんだろうし
ログだってファイルにはいていいんじゃね、小一時間もありゃ書けるでしょ
つか、578の場合レンタルでも探したほうがいいんじゃねw
そっちのほうが間違いなく多機能で安全で優れてるとおもうぞ
0588nobodyさん
2009/09/06(日) 20:54:55ID:???fitzgerald。本体が269行しかない。
ttp://www.moongift.jp/2009/06/fitzgerald/
バリデータは存在しないので自分で書かんといけないが。
一番面倒な、入力を一括してフィルタリングする機構はあるのでさほどの手間はない。
あと、エスケープ/サニタイズが面倒なのはお前が阿呆なだけ。
面倒ならエスケープしてからビューに渡す関数とか作れよ。
0589nobodyさん
2009/09/06(日) 21:47:35ID:???0590nobodyさん
2009/09/06(日) 22:56:49ID:???FWに慣れたっつーより、FWが無ければ何も出来ないの間違いじゃね?
正規表現とかもかけないんじゃね?w
0591nobodyさん
2009/09/06(日) 23:09:44ID:???おめーも大差ないですよっと
0592nobodyさん
2009/09/06(日) 23:30:43ID:???0593nobodyさん
2009/09/06(日) 23:52:14ID:???0594nobodyさん
2009/09/06(日) 23:58:14ID:???0595nobodyさん
2009/09/07(月) 00:25:40ID:???0596nobodyさん
2009/09/07(月) 00:36:51ID:???0597nobodyさん
2009/09/07(月) 02:36:55ID:???PHPかどうかは関係無いし、PHPにも職人クラスのPGはいる。
ただ勘違いした「シロートさん」比率が、他の言語より圧倒的に多いww
0598nobodyさん
2009/09/07(月) 03:31:50ID:???0599nobodyさん
2009/09/07(月) 03:46:45ID:???0600nobodyさん
2009/09/07(月) 04:43:15ID:???で、上達するに連れ、言語仕様に不満が出てくる。
そして、他の言語へ移る。
Web用言語の登竜門みたいなもんだから、仕方ないべ。
今更Perlから入る人も少ないでしょうし。
グローバル関数をクラスライブラリ化して、型宣言もアリにして、
OO言語に生まれかわらんかな。
既存のグローバル関数で発生したエラーを例外処理化したライブラリはないかな?
0601nobodyさん
2009/09/07(月) 05:04:58ID:???登竜門としては Perl/CGI の方が良いと思うけどなぁ。
PHPから始めた人て、HTTP通信のバックエンドや、文字コードを理解して無い人が多いよね
multipartなPOSTデータをパースしたり、URLエンコード/デコードしたり、クッキーやセッションの仕組みを理解してなかったり、etc
バグが発生した時に、原因の切り分けが出来なくて困ってる人をよく見る。
0602nobodyさん
2009/09/07(月) 05:20:04ID:???俺はPHPからだったけどWebカメラいじりたくてソケットから弄りだした
まぁその前がC/C++だったから、文字列の扱いが超簡単で楽だったなぁ
0603nobodyさん
2009/09/07(月) 06:41:11ID:???0605nobodyさん
2009/09/07(月) 10:53:21ID:???0606nobodyさん
2009/09/07(月) 11:26:17ID:???確かにできたほうがいいけど、関数をあまり巨大化させなければそれほど問題にならないのでは?
PHPのだめな所はもっと他にあるだろ
0607nobodyさん
2009/09/07(月) 11:34:03ID:???ないかな、603は。
PHPだとそれらを別ファイル分けて書いて見通しだけは良くしても、結局includeだから同一ソース
ファイルに全部放り込んでるのと変わらん、データの独立性が…とか言いたいのかも。
まあ、クラス使えばいいと思うけど、そういうのは。
0608nobodyさん
2009/09/07(月) 11:42:30ID:???0609nobodyさん
2009/09/07(月) 12:08:07ID:???つまり糞がかけば糞になる程度がやや大きい。
その程度の話なんだが言語やOSの話になると痛いのがわんさか沸いてくる。
0610nobodyさん
2009/09/07(月) 18:10:57ID:???0611nobodyさん
2009/09/07(月) 19:14:09ID:???0613nobodyさん
2009/09/07(月) 21:10:03ID:???0615nobodyさん
2009/09/07(月) 23:23:59ID:???俺も関数を短くするタイプだから、ブロックスコープはあまり必要性を感じないな。
ブロックの中が10行超えたら大抵メソッド化しちまうから特に困らん。
勿論ブロックスコープが悪いとは思わんが、初心者の学習コストを上げるほどのメリットを感じない。
0616nobodyさん
2009/09/07(月) 23:26:06ID:???0617nobodyさん
2009/09/07(月) 23:40:34ID:???0618nobodyさん
2009/09/07(月) 23:44:47ID:???とかみたいな目安の話じゃろ。わりとよく聞く話だとおもうけど
0619nobodyさん
2009/09/07(月) 23:57:18ID:???全部関数の初めでやればいいじゃん。
0620nobodyさん
2009/09/08(火) 00:02:55ID:???0621nobodyさん
2009/09/08(火) 00:06:12ID:???0622nobodyさん
2009/09/08(火) 00:08:19ID:???0624nobodyさん
2009/09/08(火) 00:23:20ID:???自分は処理毎の先頭で纏めて初期化している。
意識して関数の先頭で全て宣言する事もあるけど、
あまりメリットを感じない。
0625nobodyさん
2009/09/08(火) 00:31:02ID:???あとは全部頭で初期化してる
0626nobodyさん
2009/09/08(火) 00:33:15ID:???メソッド内のローカル変数なんて必要になったら宣言すりゃいいんじゃね
よほど長ったらしい関数とかを書くとかじゃない限り分けて宣言するメリットなくね
0627nobodyさん
2009/09/08(火) 00:33:52ID:???宣言と初期化分ければそんなに気にならないけど、あまり意味は無い気もするし。
// $hoge を使わない場合がある。
function hoge()
{
$hoge = new Hoge();
if (xxxx) return;
$hoge->hogehoge();
}
0628nobodyさん
2009/09/08(火) 00:41:51ID:???が、PHPの場合、関数の最初の方で宣言しとくのが分かりやすいと言えば分かりやすい。
が、そうすると変数名の衝突が起きやすいので、長い変数名を使わざるを得ない。よって、記述が冗長になる。
0629nobodyさん
2009/09/08(火) 00:41:55ID:???何かそんな資料を昔見たようなうる覚え
0630nobodyさん
2009/09/08(火) 00:42:18ID:???0631nobodyさん
2009/09/08(火) 00:53:55ID:???0632nobodyさん
2009/09/08(火) 00:57:15ID:???0633nobodyさん
2009/09/08(火) 01:19:29ID:???0634nobodyさん
2009/09/08(火) 01:27:39ID:???0635nobodyさん
2009/09/08(火) 01:28:50ID:???0636nobodyさん
2009/09/08(火) 08:10:48ID:???0637nobodyさん
2009/09/08(火) 08:46:05ID:???全く関係ない話題で埋め尽くされてることが多いよな。
相応しいスレはいくらでもあるんだから、そっちでやれや。
0638nobodyさん
2009/09/08(火) 08:57:46ID:???0639nobodyさん
2009/09/08(火) 11:39:27ID:???>スコープが関数単位なのって、PHPとJavaScriptぐらいなものなんだ。?x2028;ダウト。
変数宣言のない言語はたいてい関数スコープ。PythonもRubyもそう。
0640578
2009/09/08(火) 12:25:14ID:???・・・まぁ、この流れはある程度想定の範囲内。
フツー、「んなもんスクラッチで書けよ」って思うよなw
>>587
相手についての考察は大体そのとおり。だからpear使いたくなかったんよ。
レンタルチャットでは多分無理。少なくともかなりのカスタマイズしないといけないんで、結局手間はあんまり変わらないと思われ。
>>588
これは知らなかった。ORマッパ無しというのもいいかも。
少し調べてみるっす。感謝>fitzgerald
エスケープ/サニタイズは、まぁPHPは結構便利な関数があるからそんなに面倒ではないんだけどね。
ま、>>578のとおり、そんなにがっちり組む必要もないんだし、
>大体バリデーションつっても、入力文字の<>&あたり置換すりゃ早々問題なんて起きんだろうし
>ログだってファイルにはいていいんじゃね、小一時間もありゃ書けるでしょ
でいいっちゃいいと思うんだがね。
>>590
あることぁあるが、PHP4の時代のヤツなんでねぇw>俺俺ライブラリ
ま、正規表現は確かに苦手だ。eregとpregでビミョーに違うのもややこしいしw
0642nobodyさん
2009/09/08(火) 18:43:17ID:???0644nobodyさん
2009/09/08(火) 19:41:42ID:???0645nobodyさん
2009/09/08(火) 19:42:43ID:???0646645
2009/09/08(火) 19:44:11ID:???0649nobodyさん
2009/09/09(水) 04:07:50ID:???バグの温床じゃん
0650nobodyさん
2009/09/09(水) 04:39:08ID:???A処理、B処理、C処理を連続して順番に処理する事を保証する場合、
内部的にメソッドを分けたとしても、PGに提供するメソッドは一つにするのが普通だろ。
その場合、途中の処理でこけた場合、どの処理でこけたかを判断する為に、return もしくは throw 等を使う。
それをしない方がバグの温床になると思うんだが・・・
0651nobodyさん
2009/09/09(水) 04:49:10ID:???0652nobodyさん
2009/09/09(水) 04:55:14ID:???0653nobodyさん
2009/09/09(水) 05:02:31ID:???クラスの宣言ってのは、通常 class Hoge {} な構文を指す言葉だから誤用しないようにね。
0654nobodyさん
2009/09/09(水) 05:02:56ID:???1ヶ月でログが20GB超えてたときは流石に吹いたわ
0656nobodyさん
2009/09/09(水) 05:18:47ID:???書庫の中身見てはじめて気づいたんだわ
写真とかアップロードするから、容量に関しては無頓着だったし
0657nobodyさん
2009/09/09(水) 05:23:06ID:???0658nobodyさん
2009/09/09(水) 05:30:56ID:???0659nobodyさん
2009/09/09(水) 07:00:39ID:???稼働前にdisplay_errorsオンにするなり、error_reportingなりでデバッグしないの?
活用しないログほど意味の無いものは無い。
0660nobodyさん
2009/09/09(水) 08:27:51ID:???0661nobodyさん
2009/09/09(水) 08:41:34ID:???0662nobodyさん
2009/09/09(水) 09:08:54ID:???0663nobodyさん
2009/09/09(水) 17:32:08ID:???・xmlとかでphpソースと別ファイルにする
・phpソースに定数とか連想配列で保存
0664nobodyさん
2009/09/09(水) 17:34:01ID:???0666nobodyさん
2009/09/09(水) 18:23:52ID:???0667nobodyさん
2009/09/09(水) 18:46:02ID:???0668663
2009/09/09(水) 18:55:08ID:???勉強してきます。
0669nobodyさん
2009/09/09(水) 21:36:02ID:???0670nobodyさん
2009/09/09(水) 23:12:42ID:???0671nobodyさん
2009/09/09(水) 23:45:11ID:???以下のヤツは俺が使っている設定ファイル・・・を参考に書き直したもの。
ただのコメントが入った設定ファイルように見えるが、これがYAMLの文法なんだぜ。
# 各種プログラムのパス
bin:
sendmail: '/usr/sbin/sendmail'
nkf: '/usr/bin/nkf'
# テンポラリディレクトリ
tmp: '/tmp'
cache:
# キャッシュディレクトリ
dir: "/var/www/html/myapp/cache"
# キャッシュの保持時間(秒)
expires: 604800 # 1 week
0672nobodyさん
2009/09/09(水) 23:47:08ID:???http://www.yaml.org/
↑YAMLで書かれていますw
0673nobodyさん
2009/09/09(水) 23:52:12ID:???なったりする時があるから、JSONの方が好きなんだが。
プログラマならJSONの方が構造が直感的に分かると思うんだが。
一般人の理解しやすさは
YAML > JSON >>>>>>>>>>>>>> XML
プログラムからのいじりやすさは
JSON > YAML >>>>>>>>>>>>>> XML
という感じだと思うんだが。
あと記述する内容によって適したデータ形式があるから
プロジェクトごとに選択するしかないと思う。
0674nobodyさん
2009/09/10(木) 00:02:10ID:???PHPの関数も用意されてるし
0675nobodyさん
2009/09/10(木) 00:21:48ID:???YAMLの可読性は素晴らしいとは思うけど、適度に記号入ってた方が好み
0676nobodyさん
2009/09/10(木) 00:28:49ID:???JSONにコメントないじゃん。
プログラムが受け渡すデータならJSONでいいけど、
人間が読み書きするならYAMLの方が良いよ。
あと必要ならデータ形式は変換すれば良いだけ。
0677nobodyさん
2009/09/10(木) 00:31:57ID:???0678nobodyさん
2009/09/10(木) 00:43:06ID:???複雑な設定ってWEBプログラムではそうそう無いと思うけど。
バリデーションルールを無理矢理YAML化してるの見ると、なんだかなぁと思う。
0679669
2009/09/10(木) 00:44:44ID:???YAMLは3年ほど前spycを使ってとり回そうとして挙動不審だったのでいい思い出がない。
みんなYAMLのパーサ何使ってるの?syck? spyc? preg使って自前?
その辺でおすすめあればもう一度トライしてみます。
0680nobodyさん
2009/09/10(木) 01:00:39ID:???なんか問題あったとして、今は修正されたんじゃない?
と思って今見てみたら、0.4.2がでてる。
パフォーマンス向上とな。入れ替えようw
0681nobodyさん
2009/09/10(木) 01:21:40ID:???フレームワークどころかPHPですらなくなってるぞ
0682nobodyさん
2009/09/10(木) 08:30:09ID:???牛肉と豚肉の割合どのくらいにしてる?
0683nobodyさん
2009/09/10(木) 09:09:16ID:???0685nobodyさん
2009/09/10(木) 10:16:04ID:???あと、YAML ファイルがでかいと解析時間も遅いのが問題。
0686nobodyさん
2009/09/10(木) 11:23:12ID:???0687nobodyさん
2009/09/10(木) 12:08:36ID:???XMLなら内容の不備も事前に見つけられるし・・・
0688nobodyさん
2009/09/10(木) 12:21:27ID:???0690nobodyさん
2009/09/10(木) 20:08:02ID:???serialize/unserializeしてキャッシュするだろ?
設定ファイルなんて頻繁に変更するわけじゃあるまいし。
0691nobodyさん
2009/09/10(木) 20:20:36ID:???yamlの利便性>>>arrayなのか?という問題は難しいところ
0692nobodyさん
2009/09/10(木) 20:21:35ID:???0694nobodyさん
2009/09/10(木) 20:59:40ID:???0695nobodyさん
2009/09/10(木) 21:04:31ID:???そこにphpコードも書けないと不便だよね
そういうことを考えていくと余計に面倒になってくる
フレームワークに元々実装してあるなら使うけど
0696nobodyさん
2009/09/10(木) 21:25:53ID:???iniはシンプルかつ、一般的。
XMLは複雑だが、Flash等と親和性がある(扱えるデザイナが多い/開発環境も多い)
JSONはJSとの親和性がある
YAMLは学習及び実装コストに見合うメリットはあるのだろうか?
ミーハーな感じがするわ。
0697nobodyさん
2009/09/10(木) 21:35:20ID:???0698nobodyさん
2009/09/10(木) 21:42:33ID:???そんなもん一時間かそこらだろうが。試すだけ試してみりゃいいじゃん。
0699nobodyさん
2009/09/10(木) 22:21:24ID:???0700nobodyさん
2009/09/10(木) 22:34:09ID:???意図しない半角スペースが入っていても値としては正常なモノとして扱われるのが厄介すぎる。
>>698
パーサからの実装を1時間そこらで出来るわけないだろw
0701nobodyさん
2009/09/10(木) 22:38:25ID:???0702nobodyさん
2009/09/10(木) 22:38:41ID:???iniはセクションがどうとか、データの階層構造で
複雑なものが作れないんだわ。
YAMLだと自分が思ったままの理想のデータ構造そのまま定義できる。
楽なんだよ。
>>699
array( array( array( 地獄から抜け出せるぜw
0703nobodyさん
2009/09/10(木) 22:46:53ID:???[]とかで表記できたらいいのに
5.3もおもしろ機能ばっかり付けないでそういうの付けろ
0706nobodyさん
2009/09/10(木) 23:08:51ID:???じゃあ検証すりゃいいじゃん
少なくとも自分で書くよりは速いぜ
0708nobodyさん
2009/09/10(木) 23:28:45ID:???もちろん他人の作った飯なんて、米なんてのも食べられないんですよね?
0710nobodyさん
2009/09/10(木) 23:45:09ID:???0711nobodyさん
2009/09/10(木) 23:58:39ID:???0712nobodyさん
2009/09/11(金) 00:05:00ID:???とか当たり前で目が痛くなってくるw
0713nobodyさん
2009/09/11(金) 00:06:27ID:???function a(){
return func_get_args();
}
というのはどうだろう、今思いついたんで動くかは知らん
0714nobodyさん
2009/09/11(金) 00:06:48ID:???0716713
2009/09/11(金) 02:39:35ID:???連想配列は配列ではない(キリッ
…正直すまんかった
0717nobodyさん
2009/09/11(金) 02:57:51ID:???0718nobodyさん
2009/09/11(金) 05:32:45ID:P+LwJJ6C納品先によっては、ソースを直すには抵抗あるけど設定ファイルならOKってところもあるな。
0719nobodyさん
2009/09/11(金) 05:39:23ID:???YAMLがメジャーになりうる要素も気配も無いのにね。
0720nobodyさん
2009/09/11(金) 09:11:44ID:???え? すでにメジャー・・・
0721nobodyさん
2009/09/11(金) 09:14:37ID:???0722nobodyさん
2009/09/11(金) 09:17:21ID:???YAML厨乙www
0723nobodyさん
2009/09/11(金) 09:54:42ID:???0724nobodyさん
2009/09/11(金) 09:58:21ID:???0725nobodyさん
2009/09/11(金) 10:28:02ID:???とりあえずアンテナ低目の俺の場合、
ini, XML, JSON: ここしばらくの話は分かる程度には知ってた。
YAML: 「え、なにそれ?」とぐぐった
</自分語り>
0726nobodyさん
2009/09/11(金) 11:46:22ID:???男は黙ってconfig.inc.php
どうせパスの位置ぐらいしか設定しないから配列地獄とは無縁
0727nobodyさん
2009/09/11(金) 15:20:54ID:???0728nobodyさん
2009/09/12(土) 01:26:50ID:???0729nobodyさん
2009/09/12(土) 03:11:18ID:???0730nobodyさん
2009/09/12(土) 13:48:16ID:???0731nobodyさん
2009/09/12(土) 15:53:14ID:???フレームワークごとに推奨する実装あるだろ。
0732nobodyさん
2009/09/13(日) 00:43:11ID:???array(array(でいいよ
0733nobodyさん
2009/09/13(日) 01:36:36ID:???db.host = xxxx
db.user = xxxx
db.pass = xxxx
複雑な階層構造を持つ設定なんてそうそう無い。
設定ファイルドリブンな思考はためるべき。
0734nobodyさん
2009/09/13(日) 01:40:40ID:???0735nobodyさん
2009/09/13(日) 01:51:06ID:???0736nobodyさん
2009/09/13(日) 02:02:17ID:???0737nobodyさん
2009/09/13(日) 06:41:03ID:???設定ファイルならそのFWで標準的なもの使うだけ
0738nobodyさん
2009/09/13(日) 09:11:18ID:???0739nobodyさん
2009/09/13(日) 09:58:40ID:???自前でデータリストのファイル作れば良いじゃん
0740nobodyさん
2009/09/13(日) 10:21:25ID:???パースするようなものを作れと?
そんなもの作るぐらいならYAML使うわw
0741nobodyさん
2009/09/13(日) 10:27:39ID:???0742nobodyさん
2009/09/13(日) 10:44:26ID:???0743nobodyさん
2009/09/13(日) 10:48:54ID:???車輪の再発明(爆笑)を提案した
0744nobodyさん
2009/09/13(日) 14:11:52ID:???return array
(
設定..
);
で簡単最速
0745nobodyさん
2009/09/13(日) 20:19:02ID:???0746nobodyさん
2009/09/14(月) 01:34:52ID:???PHPとPerlとかPHPと、Ajaxとか
そういう風に他言語と組み合わさったシステムでも
共通で使える。
0747nobodyさん
2009/09/14(月) 10:06:34ID:???iniやXMLのがパーサ多いww
0748nobodyさん
2009/09/14(月) 10:19:23ID:???YAMLはいいとおもうけど、手軽に使えるような土台がまだない感
0749nobodyさん
2009/09/14(月) 13:22:47ID:???・パーサが無い(発展途上)
・スペースインデントが面倒、またはエラーの温床になる。
・読みやすいと言われているが、iniやXMLと比べると読み辛い
・XMLに比べて書くのが楽と言われているが、入力補完/バリデーションの整ったXMLの方が現状では楽。
どう考えても、現状では導入するメリット薄い。
0750nobodyさん
2009/09/14(月) 13:25:10ID:???「人間が」読み辛いという意味なら、XMLの方が読みにくいと思うな俺は。
0751nobodyさん
2009/09/14(月) 13:35:36ID:???導入コストに見合うメリットが足りないんだよねー
0752nobodyさん
2009/09/14(月) 14:16:26ID:???行数や階層が増えると構造を理解しにくくない?
XMLならビューワによるけど、タグ単位で閉じたり開いたり出来るから行数が増えても無問題なんだけど。
0753nobodyさん
2009/09/14(月) 14:45:01ID:???0754nobodyさん
2009/09/14(月) 14:51:38ID:???それで思い出したが、XMLはスペースの扱いが大変。
たとえば、
<tag></tag><tag></tag>
と
<tag></tag>
<tag></tag>
は別物。</tag>と<tag>の間に改行があるかないかが違う。
<tag><tag></tag></tag>
と
<tag>
<tag></tag>
</tag>
も別物。改行と先頭のタブ(空白)が違う。
無理やり合わせるために、こういう表現で書く場合もあるくらいだw
<tag
><tag></tag
></tag>
参考
http://www.atmarkit.co.jp/fxml/rensai/xmlwomanabou10/learning-xml10.html
http://www.ibm.com/developerworks/jp/xml/library/x-c14n/
0755nobodyさん
2009/09/14(月) 15:45:15ID:???お前XML理解してないだろw
空白や改行はルートノードの子にあたるテキストノードなんだから別に不思議でも大変でも無いわけだが。
> <tag
> ><tag></tag
> ></tag>
見たことねぇわw
パーサ側でホワイトスペース除くなり、該当ノード以外は無視するなりするのが定石じゃね?
0756nobodyさん
2009/09/14(月) 16:22:57ID:???0757nobodyさん
2009/09/14(月) 19:12:39ID:???というわけで、
ここからは「自分の好きな設定ファイルのフォーマットを語るスレ」になります。
俺俺フレームワークで用いるもよし
パスの設定のみに使うもよし
PHPのバリデーションコード自体を仕込むもよし
ではどうぞ
ちなみに俺はCSV
0758nobodyさん
2009/09/14(月) 20:15:54ID:???俺はCakeしか使ったことがないけど、サクッと作るのにオススメのフレームワークとか他にある?
0759nobodyさん
2009/09/14(月) 20:34:16ID:???っていう流れをもう何度見たことか
0760nobodyさん
2009/09/14(月) 20:40:01ID:???どうもコードが激しく短いっぽい&超シンプルっぽいので俺の脳内タスクに記憶され中。
でもCake使いだったら、ちいたんかCIなんだろうな
0761nobodyさん
2009/09/14(月) 21:36:24ID:???0762758
2009/09/14(月) 22:24:36ID:???ありがとう。
fitzgerald、CI、kohana、ちぃたんを検討してみる。
これらでCakePHPよりおすすめな理由ってあれば話題ついでによろしくお願いします。
ちぃたんはまじめにオススメしてくれてるんだろうか・・。
0763758
2009/09/14(月) 22:29:40ID:???0764nobodyさん
2009/09/15(火) 15:14:53ID:???ユーザが少ないのが難点だけど。
0765nobodyさん
2009/09/15(火) 20:46:17ID:???> 見たことねぇわw
リンク先も読めないのかよw
http://www.ibm.com/developerworks/jp/xml/library/x-c14n/
> <?xml version="1.0" encoding="UTF-8"?>
> <doc>
> <a
> a2="2" a1="1"
> >123</a>
> </doc>
> パーサ側でホワイトスペース除くなり、該当ノード以外は無視するなりするのが定石じゃね?
なんで見やすくしようと思っただけで、
パーサー書き換えないとならんのだ。本末転倒だ。
0766nobodyさん
2009/09/15(火) 21:14:29ID:???実践でそんな書き方してる人見たことねーよ。
5年前の情報だよソレ・・・
>> パーサ側でホワイトスペース除くなり、該当ノード以外は無視するなりするのが定石じゃね?
> なんで見やすくしようと思っただけで、
> パーサー書き換えないとならんのだ。本末転倒だ。
リンク先に書かれた書き方が「見やすい」の?
XMLの仕様を理解していればそんな書き方しないで該当ノードのみを抽出するなり、ルートノードに属するテキストノードを削除するなりすると思うんだけど。
ちなみにPHPのXMLパーサは普通に対応している。
PHP読み込み時には空白データとなるが、仕様としては正常なので、
不要ならデータ処理時に省けばいいだけ。
0768nobodyさん
2009/09/16(水) 02:47:27ID:???> 、ルートノードに属するテキストノードを削除するなりすると思うんだけど。
そんなことをしたら意味が変わるだろw
> 見やすさで言えばリンク先の書き方の方が本末転倒なのではw
XMLの限界だよ。
気づけよw
XMLは機械が生成して機械が読み込むためのものであって
人間が読み書きするものじゃない。
0769nobodyさん
2009/09/16(水) 03:01:53ID:???>>768
>> 、ルートノードに属するテキストノードを削除するなりすると思うんだけど。
>そんなことをしたら意味が変わるだろw
流れ的に、改行とかスペースだけの不要なテキストノードを削除しろって意味だろ?
データ的には正しい仕様なんだから、パーサのせいじゃない。
>> 見やすさで言えばリンク先の書き方の方が本末転倒なのではw
>XMLの限界だよ。
何がどう限界なの?改行や空白だけのデータを保持出来ない形式に変えろって事?
お前の頭の理解の限界ってこと?
>XMLは機械が生成して機械が読み込むためのものであって
>人間が読み書きするものじゃない。
w 普通は機械が読み書きする専用のデータにテキスト形式なんて用いないんじゃね?
人間が読むために視覚化されてるんだろう・・・
0770nobodyさん
2009/09/16(水) 03:07:04ID:???だからそれやったら意味が違うだろw
改行やスペースもも立派なデータだ。
スペース1個と空文字は意味が違う。
0771nobodyさん
2009/09/16(水) 03:10:17ID:???だから仕様的には正しいって書いてるだろw
>>754が、改行やスペースも立派なデータって事を認識しておらず、XMLは面倒とか書いてるから反論してるだけだ。
0772nobodyさん
2009/09/16(水) 03:12:19ID:???そもそもこんなアホな話題にならない
っつーかすれ違いいい加減どっか他所でやれよ
0773nobodyさん
2009/09/16(水) 03:24:34ID:???どっちにしてもスレ違いだけどな
0774nobodyさん
2009/09/16(水) 03:32:44ID:???各フォーマットの信者がムキになっちゃってるみたいだけど・・・
個人的にはPHPなら
ini > xml ≧ php ≧ JSON ≧ YAML
の順かなぁ・・・ケースバイケースだろうけど
iniはシンプルで誰にでも解りやすいと思う
xmlは親和性の高さと、拡張性の高さが魅力
phpは簡単な設定振り分けコードも埋め込めるのが魅力
JSONはJSとの親和性が高く、他言語含めパーサの選択肢が多いのも魅力
YAMLは発展途上で、パーサ、知名度的に未知数
という感じ
0775nobodyさん
2009/09/16(水) 04:00:23ID:???0776nobodyさん
2009/09/16(水) 04:26:35ID:???0781nobodyさん
2009/09/16(水) 17:00:02ID:???今流行っているYAMLってわけだ。
ini・・・表現力に劣る
XML・・・冗長すぎる。見にくい。
php・・・データではない。コードを入れられてしまう。
JSON・・・コメントが入れられない。
YAML・・・完璧☆
0782nobodyさん
2009/09/16(水) 17:04:22ID:???データの中に改行が含まれると
見づらい
YAML・・・完璧☆ミ
0784nobodyさん
2009/09/16(水) 17:18:22ID:???つか、YAML を採用する新規オープンソースは少ない、
というか、ほとんどなくない?
0785nobodyさん
2009/09/16(水) 17:31:19ID:???0786nobodyさん
2009/09/16(水) 17:49:56ID:???XMLやHTML書いていて、改行が含まれると
<a>
<b>
<c>
<d>改行が
含まれたデータ
</d>
</c>
</b>
</a>
ってなるってわかるよね?
YAMLだとインデントが保てる
0787nobodyさん
2009/09/16(水) 18:05:04ID:???ケースバイケースで ini / XML / php / JSON を使い分ければいい。
YAMLの利点?無いよw
プログラム側で無理矢理YAMLをいかそうとする設計にでもしない限りな。
0788nobodyさん
2009/09/16(水) 18:10:27ID:???Rails や Symfony 以外にも
いろんな WAF あるけど、YAML 採用のほうが少ないし、
sf.net にあるのにしても、YAML 採用なんて少ないよね、ということなんだけど。
0789nobodyさん
2009/09/16(水) 19:12:45ID:???結局良いとこどりをしたのが
今流行っているYAMLってわけだ。
ini・・・表現力に劣る
XML・・・冗長すぎる。見にくい。
php・・・データではない。コードを入れられてしまう。
JSON・・・コメントが入れられない。
YAML・・・完璧☆
0790nobodyさん
2009/09/16(水) 19:51:01ID:???YAMLはシンプルさにかけて、冗長に書くとXMLより読みづらく、PHPのような利点も無く、JSONのようにブラウザとの親和性も無い
って事?
0791nobodyさん
2009/09/16(水) 19:53:09ID:???0792nobodyさん
2009/09/16(水) 20:28:51ID:???0793nobodyさん
2009/09/16(水) 20:46:30ID:???JSONやPHPシリアライズは可読性に劣る
つまりXMLかYAML
JAVA世界ではXMLでRORはYAML
0794nobodyさん
2009/09/16(水) 22:26:58ID:???0795nobodyさん
2009/09/16(水) 23:04:44ID:???YAMLは好きだが、PHPだと標準で読み出せないってのが大きな減点材料
サーバ立てるたびにspycインストールするのも面倒だし
0796nobodyさん
2009/09/16(水) 23:36:50ID:???Zendサーティフィケーションなんとかとかいう奴いつの間にか終わっててワロタ
0799nobodyさん
2009/09/17(木) 04:08:00ID:???0800nobodyさん
2009/09/17(木) 13:52:25ID:???> サーバ立てるたびにspycインストールするのも面倒だし
え? 君、既存のライブラリ一切使わないの?
一昔前の人でも、PEARとか使うでしょ?
0802nobodyさん
2009/09/17(木) 16:37:02ID:???0803nobodyさん
2009/09/17(木) 16:56:25ID:???0804nobodyさん
2009/09/17(木) 17:26:59ID:???インストールが面倒とか意味わからん。
0805nobodyさん
2009/09/17(木) 18:18:19ID:???だよね。
ファイル一個置くのも面倒って
自分が作っているプログラムは、
ファイル一個でできているのかと。
自作でもいいからライブラリ使うだろう。
そしたら、ライブラリファイルを一個置くだろう。
それも面倒なんて、どれくらい初心者なんだよw
0806nobodyさん
2009/09/17(木) 18:24:48ID:???0807806
2009/09/17(木) 18:27:02ID:???標準を言い出すとフレームワークどれも使えなくなるな
0808nobodyさん
2009/09/17(木) 18:34:44ID:???0809nobodyさん
2009/09/17(木) 18:39:22ID:???OSにバンドルされればサポート対象にもなるし。
0810nobodyさん
2009/09/17(木) 19:51:24ID:???でもPHPでYAMLを使うのはちょっと敷居高いよ。
YAMLライブラリがRubyでは標準添付、PythonはPyYAMLのできがいいしGoogleAppEngineに含まれている、
でもspycはYAMLパーサとして不完全すぎるし、バグも多い。
YAMLはいい選択肢だと思うけど、PHPでやるのはあまりお勧めしない。
0811nobodyさん
2009/09/17(木) 19:57:12ID:???いや(笑) 根拠が書いて無いから誰も信じて無いからそれw
0812nobodyさん
2009/09/17(木) 20:19:55ID:???0813nobodyさん
2009/09/17(木) 20:42:40ID:???お前はSpyc使っているのか?あれはかなりバグ満載だぞ。
ttp://gihyo.jp/dev/serial/01/yaml_library/0004?page=3
Spycで満足しているやつはYAML初心者。
0814nobodyさん
2009/09/17(木) 21:22:33ID:???って3年後に言われてるに1ペリカ
0815nobodyさん
2009/09/17(木) 22:41:51ID:???>お前はSpyc使っているのか?あれはかなりバグ満載だぞ。
つうか、バグも多いけど、YAMLの便利機能が欠けているのが痛い。使う気になれない。
Spyc使うぐらいならlibyamlの移植を使う。
>>811
>いや(笑) 根拠が書いて無いから誰も信じて無いからそれw
おまえがアンカーすら使ってないことはよくわかった。
その程度の知識で「YAML便利」とかほざくな。
おまえみたいなのはな、XMLが登場した時になんでもかんでもXMLで書こうとしたバカどもと同じ水準。
今はYAML覚えたてだから、なんでもかんでもYAMLで書こうとしているだけの単細胞バカ。
ミーハーの行動はYAMLの評判にとって大きなマイナス。YAMLを少しかじった程度でわかった気になるな。
0816nobodyさん
2009/09/17(木) 23:24:02ID:???全体の工数の数%程度の設定ファイルの為に、コストかけるくらいならXML書くわw
IDE使えば編集はYAMLより遙かに楽だし
0817nobodyさん
2009/09/17(木) 23:40:00ID:???もうarrayでいいわ
0818nobodyさん
2009/09/18(金) 01:07:32ID:???MSのXMLエディタとか使いやすいのあるし
viにこだわらなきゃ楽じゃない?
まぁ普通は設定じゃなくて、データファイルとして使う方が多いと思うが
0819nobodyさん
2009/09/18(金) 01:41:11ID:???終了
0820nobodyさん
2009/09/18(金) 02:31:37ID:???0821nobodyさん
2009/09/18(金) 07:16:54ID:???新フォーマットがどんなに優れていようと、学習環境、開発環境、実績が揃わない限り流行り物として終る。
0822nobodyさん
2009/09/18(金) 09:49:02ID:???メンバの多数決で決めれば良い
0823nobodyさん
2009/09/18(金) 13:59:28ID:???おろかな君に知恵を授けてあげよう。
バージョン番号。
それがあがると、バグが修正されるんだ。
お前が持ってきたリンク。0.3(beta)
最新、0.4.2
さて、何か言い訳を聞こうか?
どんなバグがあるのかね。
0825nobodyさん
2009/09/18(金) 16:18:27ID:???0.4 って時点で未完成もいいところだろ・・・
0826nobodyさん
2009/09/18(金) 17:08:39ID:???能書きはいいから、今現在どんなバグがあるのかいってみな。
0.4.2で十分実用レベルになっているだろ。
YAMLの仕様は全部満たしていない?
だが、他の方法(iniやXML)にその仕様はあるのかと自問しよう。
YAMLは明らかに優れている。
0827nobodyさん
2009/09/18(金) 17:30:58ID:???undefined functionになるんだけど何でなの
0828nobodyさん
2009/09/18(金) 17:44:47ID:???| 5.3.0 この関数は、Windows プラットフォームでも動作するようになりました。
5.3.0 以前の Windows で使ってないよね?
0829nobodyさん
2009/09/18(金) 18:17:36ID:???なにこれ、他人を煽ってバグを見つけさせようとする新しい手口?
そこまでおまえが自信満々に語るなら、ちょっと試してみる。
0832nobodyさん
2009/09/18(金) 19:03:31ID:???そうだね!YAMLは凄いね!
issueすら読めない人でも使えるんだもんね!ほんとすごい!皆には内緒にしといたほうがいいよ!
0833nobodyさん
2009/09/18(金) 20:30:08ID:???YAMLは凄いよ。
YAMLは仕様だからね。
ライブラリの問題は別の話。
0834nobodyさん
2009/09/18(金) 20:32:24ID:???今現在でも、iniなんかより
はるかに優れている現状をみてどう思う?
0835nobodyさん
2009/09/18(金) 20:52:37ID:???0836nobodyさん
2009/09/18(金) 21:37:03ID:???大抵の設定ファイルなんてiniで事足りる設計になってると思うよw
ベンチマークとか取れば、無駄なオーバーヘッドに萎えるかと。
0837nobodyさん
2009/09/18(金) 21:38:48ID:???0838nobodyさん
2009/09/18(金) 21:40:13ID:???database.host = "hoge"
database.user = "user"
database.password = "pass"
みたいな。
YAMLと比べるとGREPしやすくていいよ。
0840nobodyさん
2009/09/18(金) 22:29:27ID:???素のPHPのarray()だとリストや階層構造を表現できても検証が微妙。
それに素のPHPでもない限りiniでも普通はの解析結果をキャッシュするでしょ?
まあ設定ファイルなんて各々が好きな形式を使えばいいと思うけど
自分が嫌いだからクソみたいなことを言うだけじゃ議論にならないよね。
0841nobodyさん
2009/09/18(金) 23:05:58ID:???iniファイルで、grepしやすいように、
工夫したキーにするのなら、
YAMLでも、工夫したキーにすれば同じことじゃね?
0842nobodyさん
2009/09/18(金) 23:16:47ID:???XMLのようなデータが簡単に書けるのがYAMLのいいところなんじゃないの?
0843nobodyさん
2009/09/18(金) 23:58:31ID:???0844nobodyさん
2009/09/19(土) 00:19:38ID:???0846nobodyさん
2009/09/19(土) 01:08:37ID:???俺はsubversionからupdateしてるけど
一般的な方法ってあるんだろうか
0849nobodyさん
2009/09/19(土) 01:22:43ID:???0850nobodyさん
2009/09/19(土) 01:24:57ID:???0851nobodyさん
2009/09/19(土) 01:29:33ID:???0853nobodyさん
2009/09/19(土) 02:54:38ID:???0854nobodyさん
2009/09/19(土) 06:17:24ID:???svnからわざわざ乗り換えるだけの価値あるの?
0855nobodyさん
2009/09/19(土) 07:20:30ID:???0856nobodyさん
2009/09/19(土) 07:24:20ID:???ファイルフォーマットとライブラリをだな・・・・
0857nobodyさん
2009/09/19(土) 13:20:20ID:???0858nobodyさん
2009/09/19(土) 13:55:22ID:???0860nobodyさん
2009/09/20(日) 00:38:15ID:???ってやりたいだけ
0861nobodyさん
2009/09/20(日) 01:23:09ID:???0862nobodyさん
2009/09/20(日) 02:01:17ID:???フレームワークより規模が大きいってどういうもの?と思ってしまった
0863nobodyさん
2009/09/20(日) 03:16:07ID:???今まで腐ったケーキと馬鹿にしてたけどこの気軽さはいいかも
0864nobodyさん
2009/09/20(日) 11:32:36ID:???>>826
>能書きはいいから、今現在どんなバグがあるのかいってみな。
おまえ絶対使ってないだろ。20分触っただけでワンサカでてくるんだけど?
・「{ A: 10, B: 20 }」というデータをロードしてvar_exportしたら
array ( '{ foo' => array ( '10, bar' => '20 }', ), )
だって。Spycばかじゃねーの?
・日付と時刻が解釈できない。「2009-12-31」がただの文字列。しょぼ。
・マッピングのキーを「"」や「'」でくくるとそれが含まれてしまう。
たとえば「- "foo": 10」はarray(0=>array('foo'=>10)) になるはずなのに
array(0=>array("'foo'"=>10)) になる。ふざけてんのか?
・文書区切りの「---」を解釈できない(=ストリームに未対応)。
・「y」がTRUEになる。たとえば
- x
- y
が array(0=>'x', 1=>TRUE) になる。やめてくれ。
・ブロックスタイルの文字列で最後の改行が消える。たとえば
- |
foo
だと array(0=>"foo¥n")になるべきところがarray(0=>'foo')。ほんとウンコ。
(つづく!)
0865nobodyさん
2009/09/20(日) 11:52:13ID:???・ユニコード書式未サポート。ウンコだから期待してない。
・クォートした文字列で「¥n」が解釈できない。たとえば
- "aaa¥nbbb"
が、array(0=>"aaa¥nbbb") のはずが array(0=>'aaa¥¥nbbb') になる。ウンコだから仕方ない。
・ブロックスタイルのインデント幅を指定できない。たとえば
- text: |2
aaa
bbb
は aray(0=>array('text'=>" aaa¥n b¥n")) になるはずが、
array(0=>array('text'=>'|2', 0=>NULL, 1=>NULL)) になった。つくづくウンコ。
・「:」の直後に空白がなくてもキーとみなしてしまう。たとえば
- &a1
name:x
age:20
だと array(0=>array('name'=>'x')) になる。正しくはarray(0=>'name:x')。
いくらなんでもこれはまずすぎるだろー。とことんウンコ。
・エラーになるべきところでエラーにならない。たとえば
- aaa: 10
bbb: 20
ccc: 30 # インデントが1つ足りない
だと3行目でエラーになるはずなのにならない。限りなくウンコ。
0867nobodyさん
2009/09/20(日) 12:09:39ID:???0868nobodyさん
2009/09/20(日) 12:11:21ID:???『(バグを)盛るぜ〜、チョー盛るぜ〜!』
盛り過ぎだろ!
・nullになるべきところで勝手に空配列になってる!
- foo
-
の結果がなんと array(0=>'aaa', 1=>array()) だって!斬新すぎるだろ!
・マージで複数のアンカーを指定できない。つまり「<<: [*anchor1, *anchor2]」という指定方法ができないってことね。
・いらんところで空気読みすぎ。
- [10, 20, 30, ]]
はエラーにならないといけないのに、array(0=>arra(10, 20, '30,]')) になるとか。
そんな空気読まなくていいから!間違った入力にはちゃんとエラーだしてくれていいから!
・spyc-0.4.2.zip ダウンロードしたのに、中に入っている spyc.php のバージョンは @version 0.4.1 だった!
Spycの開発者は配布するソースのバージョンも管理できてない!
もういいわ。疲れた。これ以上調べる気にならん。
>>826
>0.4.2で十分実用レベルになっているだろ。
なってねーよ!おまえがYAMLのさわりの部分しか使ってないだけじゃねーか!
>YAMLは明らかに優れている。
YAMLは優れているかも知れん。しかしSpycはウンコ!にもかかわらず
> 能書きはいいから、今現在どんなバグがあるのかいってみな。
とか自信満々に語るおまえもウンコ!これは絶対!
0869nobodyさん
2009/09/20(日) 12:19:26ID:???>・「{ A: 10, B: 20 }」というデータをロードしてvar_exportしたら
> array ( '{ foo' => array ( '10, bar' => '20 }', ), )
間違えた。
・「{ A: 10, B: 20 }」というデータをロードしてvar_exportしたら
array ( '{ A' => array ( '10, B' => '20 }' ) ) になった。
(正しくはもちろん array('A'=>10, 'B'=>20) ね。)
Spycはフロースタイルの解釈がまともにできないな。JSONパーサとしては絶対に使えねー。
それ以上に>>826も使えねーやつだろうけどな。
つうかさ、Spycのどこを見てバグがないと思ったんだろうな。よほど初歩的な使い方しかしてないんだろ。
0870nobodyさん
2009/09/20(日) 12:23:10ID:???>能書きはいいから、今現在どんなバグがあるのかいってみな。
おまえがそんなこというから、調べてやったよ。
あまりにバグが多いから途中で打ち切ったけど、もっと調べりゃまだまだ見つかるはずだぜ。
さあ弁解を聞こうか。人にここまでさせといてトンズラするなよ?
0871nobodyさん
2009/09/20(日) 13:46:07ID:???もう帰れよお前
0872nobodyさん
2009/09/20(日) 14:14:59ID:???まぁどっちにしてもYAMLは使うメリットないし、そもそもこの話題はスレ違い
0874nobodyさん
2009/09/20(日) 16:32:37ID:???俺も気になってたがテストする気も起きなかったので、
未だに不具合満載ってことが分かっただけでも良かったわ
そういういみではGJ>>864=865=868=869=870
0875nobodyさん
2009/09/20(日) 18:20:42ID:???馬鹿は言い過ぎだ正直スマンかった。
0876nobodyさん
2009/09/20(日) 19:22:35ID:???0877nobodyさん
2009/09/20(日) 23:09:34ID:???0878nobodyさん
2009/09/21(月) 01:01:25ID:???俺も損兄つかん込んでる訳じゃないけど、
どうしてもYAMLで行きたきゃ、symfony付属のパーサ使ってた方がまだ安心できる?
0879nobodyさん
2009/09/21(月) 02:01:11ID:???それは、YAMLがひどいってことではないからな。
>>865を見て逆に、YAMLの仕様ではこんなこともできるのか!って
驚いた人もいるだろう。
0880nobodyさん
2009/09/21(月) 02:28:47ID:???0881nobodyさん
2009/09/21(月) 02:46:25ID:???CouchDBというドキュメント指向データベースだと、JSONでデータを処理できるのでWebアプリとの親和性が高い。
ttp://wota.jp/ac/?date=20090415
>任意のデータ構造を RESTful に扱うことができるドキュメント指向データベースである CouchDB
0882nobodyさん
2009/09/21(月) 03:54:06ID:???826本人乙。お顔が真っ赤ですよ?いや真っ青か。
そりゃあれだけ自身満々に語ってたもんねー。恥ずかしいったらない。
0883nobodyさん
2009/09/21(月) 04:16:56ID:???0884nobodyさん
2009/09/21(月) 08:28:10ID:???0887nobodyさん
2009/09/21(月) 11:38:08ID:???「うるせーお前のかーちゃんでーべーそー」
レベルだな
0888nobodyさん
2009/09/21(月) 12:58:52ID:???Zendのエンジンがしょぼいんでしょうか?
8 名前:nobodyさん[sage] 投稿日:2009/09/03(木) 16:34:06 ID:???
●ASPとASP.NETのベンチマーク
http://www.atmarkit.co.jp/fwin2k/dnsvrguide/iisperf/iisperf_05.html
●CGI(C++)とASP.NET、ASP、PHPのベンチマーク
http://www.wrensoft.com/zoom/benchmarks.html
●PHPとASP.NETのベンチマーク
http://www.misfitgeek.com/pages/Perf_Tests_PHP_v2_08122009.html
0889nobodyさん
2009/09/21(月) 13:07:55ID:???0890nobodyさん
2009/09/21(月) 13:08:35ID:???後はZendOptimezer
0891nobodyさん
2009/09/21(月) 13:28:34ID:???0892nobodyさん
2009/09/21(月) 13:40:19ID:???「Zend Optimizerは、PHPコードの最適化を行ない実行速度を
数%から数十%まで高速化します。」
PHPとASP.NETで10倍以上のスピード差があるならば、Optimizerで
数十パーセント速くなったところで、性能ではASP.NETの
足元にも及ばない気がする。
LAMPを使っているといっていた楽天もショッピングサイトでは
phpの拡張子が見当たらない。
性能面でPHPは使えなかったということなのかな
0893nobodyさん
2009/09/21(月) 13:46:06ID:???0894nobodyさん
2009/09/21(月) 14:00:41ID:???0895nobodyさん
2009/09/21(月) 14:04:26ID:???>>887の真ん中のベンチマークかなり新しいぞ。
この構成みればかなり最近のってわかるだろう。
Test server specifications:
Intel i7 2.66 GHz
Windows 7 Ultimate (64-bit)
Western Digital 500GB SATA2 GreenPower, 7200 RPM
4 GB of RAM
PHP 5.2.9-1 on Apache 2.2.11
ASP and ASP.NET tested on IIS 7.5.7000.0
CGI (C++) application tested on Apache 2.2.11
JavaScript tested on Internet Explorer 8.0.7000.0
Zoom Search Engine V6 (build 1013), Enterprise Edition
0896nobodyさん
2009/09/21(月) 14:09:55ID:???PHPが低性能すぎてまったく反論できないから、つまらんところに
ツッコミいれることしかできないんですね。
0897nobodyさん
2009/09/21(月) 14:19:05ID:???0898nobodyさん
2009/09/21(月) 14:26:49ID:???PHP は ASP より性能低いで。
ASP で開発すればいいんだよwwww
0899nobodyさん
2009/09/21(月) 14:33:11ID:???wwwつけてるけどあんたがASP, ASP.netをまったく理解して
ないのはわかった。
PHPはASPよりは速い。
ただASP.netには性能面で、完敗。
ASPとASP.netは完全に別物。パフォーマンスもまったく違う。
0900nobodyさん
2009/09/21(月) 14:44:13ID:???0901nobodyさん
2009/09/21(月) 14:48:33ID:???0902nobodyさん
2009/09/21(月) 14:58:42ID:???アプリケーションサーバがファイル名から予めデータの
種類がわかれば、最適化した処理ができるんだから、
パフォーマンス向上するでしょ。
IISはそうなってる。
まさかPHPのエンジンはやってないの?
なにがおかしいのかさっぱり。
0903nobodyさん
2009/09/21(月) 15:08:26ID:???0904nobodyさん
2009/09/21(月) 15:20:13ID:???なんだ、アウトプット時には書き換えできるとかそんな話?
それだけで笑ってたのか。あほらし。
レンダリング後のファイル名変換ならたしかIISでもできる。
できるけど、変えないほうがパフォーマンス上はいいでしょ。
ファイル名からphpってばれたら恥ずかしいから、.php以外に変えるんですね。
サイト訪れた人が、「PHP(笑)」って腹筋が崩壊しちゃうからなww
0905nobodyさん
2009/09/21(月) 15:26:26ID:???0906nobodyさん
2009/09/21(月) 15:30:29ID:???いまどきサイトセキュリティを考えて拡張子を表示しないようにするのは当たり前のことなんだが、
個人サイトしか作らない方はそんなことも知らないのですね、良く判りました。
0907nobodyさん
2009/09/21(月) 15:44:04ID:???.net frameworkの仕組みまったくわかってないでしょ。
.net系言語、クライアントPCで実行する場合とasp.netでは動きはぜんぜん違う。
asp.netで使用される時のC#.net、VB.netはPHPと同様にスクリプト言語(注)
それでもPHPより10倍以上速い。
>887の2番目のベンチみるとわかるが、C++のCGIに匹敵するスピードを
叩き出してる。
(注)
(最初の実行時にアプリケーションサーバ(IIS)上でプリコンパイルはされるが、
それくらいはPHPでもやってるでしょう?)
0908nobodyさん
2009/09/21(月) 16:04:39ID:???0909nobodyさん
2009/09/21(月) 16:06:20ID:???あの界隈はそれだけでひとつに纏まってんだからいちいち他所に沸くなよ
0910nobodyさん
2009/09/21(月) 16:25:58ID:???0911nobodyさん
2009/09/21(月) 16:57:55ID:???(今どきは素人さんでもやってるが。ちょっと調べればできちゃうし)
デザイン的に言えば、拡張子が出ているのはダサいという風潮がある。
技術的に言えば、URLを実装技術に依存させるのは将来的に困る可能性がある。
加えて、セキュリティ的にも望ましくない。PHPだろうがASPだろうがIISだろうが、可能な限り隠蔽するのが望ましい。
0912nobodyさん
2009/09/21(月) 17:15:51ID:???0913nobodyさん
2009/09/21(月) 17:39:51ID:???思い出してみろw
0914nobodyさん
2009/09/21(月) 18:12:55ID:???0915nobodyさん
2009/09/21(月) 21:51:46ID:???バイナリコードが実行されるASP.NETとは土俵が違う。
とはいえ、.NETアプリケーションがC++のアプリケーションに速度で匹敵するわけない。
もっともこれはウェブサーバやアプリケーションサーバの性能を考慮に入れない場合。
そして、処理内容が言語の速度を問う程に十分複雑な場合の事。
Cでウェブサーバ自体作ってしまえばそれが一番速いし、HELLOWORLD程度のウェブページをCGIで動かすぐらいなら、PHP(mod_php)の方が速い。
0916nobodyさん
2009/09/21(月) 21:56:11ID:???phpで何の問題もないわ
0917nobodyさん
2009/09/21(月) 22:14:07ID:???0918nobodyさん
2009/09/21(月) 22:15:43ID:???0919nobodyさん
2009/09/21(月) 22:21:53ID:???0920nobodyさん
2009/09/21(月) 22:30:04ID:???俺釣られた?
0921nobodyさん
2009/09/21(月) 23:30:15ID:???コードの処理時間がネックになる例ってあまり聞かない。ImageMagickとか使うと話が違うが。
0922nobodyさん
2009/09/21(月) 23:38:08ID:???PHPってプリコンパイルされないの?と驚いてぐぐってみたら
Zend Optimizer使うとプリコンパイルされるような事がかいてあった。
標準構成でプリコンパイルしてくれないってのは遅れてんね
.NET frameworkで動くIronRubyにも性能面で負けちゃうんじゃないの。
0923nobodyさん
2009/09/21(月) 23:40:13ID:???ASP.net と PHP 比べて云々言う奴は、
WEBサーバ含めてCでフルスクラッチすればいいんじゃないかね?w
PHPの動作速度で実用上問題になるサイトはほとんど無い。
大抵はDBや通信部分のボトルネックが大きい。
0924nobodyさん
2009/09/21(月) 23:57:44ID:???0925nobodyさん
2009/09/22(火) 00:29:26ID:???0926nobodyさん
2009/09/22(火) 00:39:30ID:???が、PHPの場合、極力簡単にウェブアプリを作る事だから。開発者にキャッシュを使いこなす事を求めるより、デプロイの単純さを選択してるんだろう。
0927nobodyさん
2009/09/22(火) 02:17:18ID:???2億5千万が利用してるサービスがPHPで拡張子出してる。
URIは変わらない事が大事なのであって余計な情報を見せないようにとか結構どうでもいい話。
0928nobodyさん
2009/09/22(火) 02:20:00ID:???スレ違いの話題を延々してる奴、いい加減にしとけよ。
0929nobodyさん
2009/09/22(火) 06:43:00ID:???そんなサイトいじってるだけの仕事なんて日に日に減ってって後ないじゃん
新しいの立ち上げるときもそんなURIつかってたら客に笑われるわw
だいたい昨今のフレームワークならこのあたりの機能はついてるし、別段難しいもんでもないよな
0931nobodyさん
2009/09/22(火) 09:54:57ID:???0933nobodyさん
2009/09/22(火) 10:38:46ID:???IIS(ASP.net)はWEBサーバのシェア20〜25%。
商用製品のWEBサーバとしてはトップ。
当然ながらイントラネット内の業務用ならもっとシェア高い。
大規模サイトなんていくらでもあるよ。特に欧米。非MS系だと
知る限りで一番トラフィック大きそうなところは、オークションのeBayかな
MS系だけでもHotmailやらLive Search(Bing)やらは相当なトラフィックかと。
0934nobodyさん
2009/09/22(火) 10:54:15ID:???大規模サイトでいくらでもあるなら 3 つ挙げてよ。
0935nobodyさん
2009/09/22(火) 11:08:32ID:???他所でやれ
0936nobodyさん
2009/09/22(火) 11:14:51ID:???0937nobodyさん
2009/09/22(火) 11:19:14ID:???大規模サイトでたくさんあるって言葉が信じられないなら、
WEBサーバのシェアと、ASP.NETのベンチマーク結果いろいろ調べれば。
シェア20%以上あって、ベンチマークも最速なんだから、
多くの導入事例があることくらい容易に想像できそうなもんだけど。
0938nobodyさん
2009/09/22(火) 11:30:19ID:???0939nobodyさん
2009/09/22(火) 11:55:57ID:???0940nobodyさん
2009/09/22(火) 12:28:35ID:???捏造
0941nobodyさん
2009/09/22(火) 12:40:01ID:???0942nobodyさん
2009/09/22(火) 13:02:40ID:???オラはアパッチじゃなきゃいやずら
ウララー
いなりずし1000個食うタイ
0943nobodyさん
2009/09/22(火) 13:18:26ID:???リアル店舗のPOSとウェブが連動しなければならない。そうなると業務アプリに対応出来るJavaかMS系を採用することになる。
PHPはビジネスロジックが簡単なウェブサイトを作るのに向いてる。
何てことない掲示板サイトだってトップクラスのアクセスを集めることもある。そういうのにPHPは向いてる。
アクセスをさばくのはインフラの問題であって、言語が影響する事は少ないから。すると、PHPは無料だし、PHP開発者も単価が安いので、PHPが選ばれる。
0944nobodyさん
2009/09/22(火) 13:37:47ID:???実はウェブの注文を店員がレジでポイント加算しているだけ。
ソース俺
ぜんぜん、すごくないよーw
0945nobodyさん
2009/09/22(火) 13:42:11ID:???POSのサーバー(データベースにRDBMSを使用しているだろう)
にアクセスすれば良いだけだからPHPからポイント共通処理は行える。
言うまでも無いが、MySQL、PostgreSQLだけでなく、商用のOracleやMS SQL Serverにも
PHPからアクセスできる。
0947nobodyさん
2009/09/22(火) 14:04:09ID:???みたいな素人は本当に恥ずかしい。
JavaかMS系にしなくてはならない理由を明確に書いてみろよw
店舗POSとの連携システムをいくつか作ってきているが、
大抵はRDBMS経由での連携になるので開発言語は特に関係無い。
0950nobodyさん
2009/09/22(火) 14:24:23ID:???確かにwebはDBよりスケールアウトしやすい。
だが5台必要だったwebサーバーが3台で済めばそれはそれで幸せじゃないか。
なのでスクリプト速度が重要でないという話にはならない。
0951nobodyさん
2009/09/22(火) 14:43:48ID:???開発速度が同じならな
あと人間の確保のしやすさ
0952nobodyさん
2009/09/22(火) 16:27:34ID:???PHPの方がJavaやC#より開発効率がよいとでも?
エンジニアが確保しやすいとでも?
0953nobodyさん
2009/09/22(火) 16:29:58ID:???ある程度の規模以上であれば、あまり言語は関係なくなるような気がする。
0954nobodyさん
2009/09/22(火) 16:31:59ID:???0955nobodyさん
2009/09/22(火) 17:58:33ID:???・(小規模であれば)開発効率が良い
・(単価を考慮すれば)人間が確保しやすい
開発速度にしたって、環境構築まで勘定に入れれば速かろうよ
いや、俺は自社サービス系だから、BtoB系の事情は良く分からんが
0956nobodyさん
2009/09/22(火) 18:08:03ID:???多くのレンタルサーバーで動かそうとしたら
PHPしか選択肢が無いのが現実。
0957nobodyさん
2009/09/22(火) 18:12:31ID:???PHPの最大のメリットは、開発効率や人間の単価なんかではなくて、
小規模ならレンタル鯖でも動かせる、大規模でもライセンス料がかからない、
Apacheが動く鯖さえ用意すれば済むと言うところだな。
ちなみに、BtoBではJavaが必要っていうのは完全に思い込みだと思う。
あと、イントラ用途での.NET(Web Forms)の生産性は、用途によっては
他の追随を許さないレベル。
0958nobodyさん
2009/09/22(火) 19:15:51ID:???PHPのメリットはサーバ代などが安いから利益率を高められること。。
0959nobodyさん
2009/09/22(火) 19:54:11ID:???あー、はやくこんな中華系の糞会社やめてぇって毎日思いながら
割れものつかって開発してるぜ
それはさておき、フレームワークといえば、
仕事でってのはまだなさそうだけど個人でYiiつかってみてるひとっている?
0960nobodyさん
2009/09/22(火) 20:19:20ID:???最初の費用だけで回収できるのは結局使いまわしできる案件だけ、そしてそんな案件10もねぇよ・・・
0961nobodyさん
2009/09/22(火) 21:42:00ID:???言語としてPHPよりC#の方がおもしろいぜ。
0962nobodyさん
2009/09/22(火) 21:46:02ID:???0963nobodyさん
2009/09/22(火) 21:56:30ID:???まあ、俺も正しいことと楽しいことが違う人間だし、PHPよりもC#の方が好きだけど。
0964nobodyさん
2009/09/22(火) 22:07:56ID:???0965nobodyさん
2009/09/22(火) 22:10:56ID:???以前それで動かなかったから捨ててたんだが
0967nobodyさん
2009/09/22(火) 22:29:06ID:???0968nobodyさん
2009/09/22(火) 22:37:01ID:???0969nobodyさん
2009/09/22(火) 22:55:42ID:???引っ張る奴こそなんなの? だな。
0970nobodyさん
2009/09/22(火) 23:19:37ID:???0971nobodyさん
2009/09/22(火) 23:28:31ID:???RORみたいな定番ってないのかな。Zendも、現場
じゃあまり使われてないみたいだし。
または、Zendベースのさらなるフレームワークとか、
CMSとかないのかな。
0972nobodyさん
2009/09/23(水) 00:29:17ID:???yiiについてはちらほらと話題に出てきては(使ってる人間少なすぎて)レスつかずだね
俺も気になってはいるが、Cakeから離れられない
RoRみたいな決定版がないのも、Webアプリ使用前提で発展してきたPHPならではともいえる。
0973nobodyさん
2009/09/23(水) 02:21:44ID:???分散的にそれぞれが発展するものと思われ、またそれでいいのではと
0974nobodyさん
2009/09/23(水) 02:57:24ID:???0975nobodyさん
2009/09/23(水) 03:03:50ID:???0976nobodyさん
2009/09/23(水) 09:12:44ID:???Cake同様の「全部入り」に不満を抱いた連中が軽量フレームワークに動いてる。
PHPにもその流れはある程度影響してるが。
0977nobodyさん
2009/09/23(水) 09:37:47ID:???0978nobodyさん
2009/09/23(水) 09:52:47ID:???0980nobodyさん
2009/09/23(水) 10:25:40ID:???0981nobodyさん
2009/09/23(水) 15:11:25ID:???俺が作ってるのは
シンプル、軽量、1ディレクトリアップロードするだけで動作、コードの自動生成は無い代わりにデバッグ機能が充実
で、データベースやHTTPクライアント等の実装に手間がかかる部分はZendFWを組み込んでる。
フレームワークというより、
個々の手法で最初に行っている初期化処理を纏めたようなクラス群か。
0982nobodyさん
2009/09/23(水) 16:26:48ID:???0985nobodyさん
2009/09/23(水) 20:54:32ID:???標準で用意してほしい。
print_rみたいに、クラス・構造体の内容を
見やすく表示したり、
PHPの話じゃないけど、定数の値から、定数名を表示したり。
レス数が950を超えています。1000を超えると書き込みができなくなります。