【PHP】フレームワークについて語るスレ9【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/12/11(火) 23:37:20ID:???http://pc11.2ch.net/test/read.cgi/php/1192604501/
0490nobodyさん
2008/01/14(月) 13:11:38ID:???ある部分でコーディングが楽になる。
なかったら困るというようなもんではない
あったら便利という感じ
個人的にはクロージャはまだなくてもいい
まずは配列を角括弧で宣言できるようにしたり
無名関数をきちんと扱えるようになって欲しい。
あとスカラーのタイプヒンティング。
0491nobodyさん
2008/01/14(月) 13:14:39ID:???0492nobodyさん
2008/01/14(月) 13:25:42ID:???0493nobodyさん
2008/01/14(月) 13:26:14ID:???よく知らないんだが、Perlにある
sort { $a cmp $b } @ar;
みたいなのはクロージャとは言わないの?
こういうのは欲しい。無名関数との区別がついていないけど。
0496nobodyさん
2008/01/14(月) 13:34:57ID:???0497nobodyさん
2008/01/14(月) 13:35:01ID:???使えないと、動的にイベントハンドラ作りまくるときにひどく面倒。
JavaScriptの用途がクロージャがあると嬉しい用途であるとも言える。
クラスがある言語だと無理にレキシカルスコープを後付けするよりは
無名クラスでクロージャもどきを実現した方が良いと思う。
$handler = new class{
private $var;
public function __construct($var) {
$this->var = $var;
}
public function hoge() {
/* ... */
}
}($var);
みたいな。見た目の好き嫌いはあると思うけど、このほうがコンパイラと
仮想マシンの実装がgdgdにならずに済むので。
まあ、ここまでやらなくても普通のクラスで事足りるかな、とは思う。
0499nobodyさん
2008/01/14(月) 13:37:51ID:???配列@arをソートした配列を作って返している。だから返り値受けなきゃあんまり意味無いけど。
@ar = ('E', 'B', 'A', 'C', 'D');
print join(',', (sort { $a cmp $b } @ar)); #=> "A,B,C,D,E"
んで、{ $a cmp $b } の部分はクロージャなのかな、と。
0501nobodyさん
2008/01/14(月) 13:41:07ID:???それはただの無名関数。
うまくいけばこんな風に書けるようになるらしい。
usort($ar, function($a, $b){ return strcmp($a, $b); });
Perlのコードよりはだいぶ長いけど、そもそもコードの短さでPerlと勝負するのは無理。
0502nobodyさん
2008/01/14(月) 13:43:10ID:???特にプロパティへの代入にコンストラクタ使ってるあたりがね。
だから普通のクラスでいいやん、って自分で書いてて思った。
0503nobodyさん
2008/01/14(月) 13:46:14ID:???0504nobodyさん
2008/01/14(月) 13:53:16ID:???調べたら、現行PHPでもできるっちゃできるんだな
$ar = array('E', 'B', 'A', 'C', 'D');
usort($ar, create_function('$a,$b', 'return strcmp($a,$b);'));
print join(',', $ar);
でも、関数定義部分のクオートが無くなるだけで遙かにましかもしれない
無名関数の扱いを洗練させる、ていうことか
(後はusortが破壊的関数なのが戴けないとか、不満を言い出したら切りがないな)
0505nobodyさん
2008/01/14(月) 14:00:38ID:???0506nobodyさん
2008/01/14(月) 14:06:29ID:???ただ関数定義のコードevalしてその関数名返してるだけ
言語仕様としてのクロージャが欲しい
>>504
sort系全部破壊的とかほんと糞過ぎる
0507nobodyさん
2008/01/14(月) 14:08:51ID:???たいした変化は無い・・・
0508nobodyさん
2008/01/14(月) 14:13:40ID:???0509nobodyさん
2008/01/14(月) 14:27:18ID:???ある言語においては、クロージャ=無名関数 となっている場合もある。
今回のPHPの場合は、開発者MLを参照。
フレームワークの話題マダー?(チンチン)
0510nobodyさん
2008/01/14(月) 14:37:22ID:???そんなのより、変数のスコープをブロックベースにするとか、ファイルベースにするとかを実装してもらいたいもんだ。
それと上の方に出てきてる[]を使った配列定義って、$arr = [1,2,3]とか$has = ['a'=>1,'b'=>2]とかのことだろ?
PHPってさあ、$arr = array('a'=>array('A'=>array(1,2,3)))みたいな超絶見づらい・インデントできないコードを強制されるから、なんとかして欲しいわ。
0511nobodyさん
2008/01/14(月) 14:38:38ID:???0512nobodyさん
2008/01/14(月) 14:41:01ID:???0514nobodyさん
2008/01/14(月) 14:43:53ID:???意味わかんねwwww
俺はどこかで見た、行の入れ替えをしやすいとかいう理由で、
こういう書き方をしているよ。多少例外はあるけどね。
$arr = array(
'aaa' => array(
'AAA' => array(
1111,
2222,
3333,
),
),
);
0515nobodyさん
2008/01/14(月) 14:45:26ID:???> WUXGAくらいのディスプレイ使ってて、1行に100文字でも200文字でも伸ばしていいなら名。
インデントしたいんじゃなかったのか?
インデントできないといったり、インデントを否定したり、
お前はいったいどういうコードを書きたいんだ?
それとも他人か?
0516nobodyさん
2008/01/14(月) 14:46:35ID:???それがインデントできてない状態なんだよ。array()のせいで、スペースを大量に入れるか、ズレるのを我慢しないといけない。
PerlでもRubyでもJavaScriptでもほとんどの言語は[]や{}で配列を宣言できるんだから。
0518nobodyさん
2008/01/14(月) 14:51:56ID:???0521nobodyさん
2008/01/14(月) 15:06:04ID:???> それがインデントできてない状態なんだよ。array()のせいで、スペースを大量に入れるか、ズレるのを我慢しないといけない。
インデント以外のスペースは入っていないし、ずれてもいない。
あー、あれか、お前にとってのインデントとは、括弧がある列をそろえることか?w
if (・・・) {
・・・
}
あんた、こういう書き方を認めない奴だろ?
インデントになってなーいとかいって、
if (・・・)
{
・・・
}
こう書き換えさせるんだろ?w
0522nobodyさん
2008/01/14(月) 15:23:18ID:???実際、それが不便だから、PHPのデベロッパーも要件として検討してるんだろ。
YAMLは先頭に-を付けるだけだから読みやすいんであって、yaml()で全部くるめってなったら、誰も使わないよ。
0523nobodyさん
2008/01/14(月) 15:28:47ID:???0524nobodyさん
2008/01/14(月) 15:29:06ID:???インデントとは?
0525nobodyさん
2008/01/14(月) 15:29:09ID:???他の言語でそうなっていることが多いのは百も承知だし
それを知った上で、あればいいけど、たいした違いは無いといっているんだが。
で、お前にとってのインデントとはどういうもんなんだw
ほんの2、3個言語知っている程度の分際でえらそうだなw
0526nobodyさん
2008/01/14(月) 15:31:32ID:???という意味がまったくわからんw
0527nobodyさん
2008/01/14(月) 15:37:17ID:???デベロッパー(笑)
0528nobodyさん
2008/01/14(月) 15:46:47ID:???もしくは、俺が勘違いしていました。って謝れよ。
0529nobodyさん
2008/01/14(月) 15:48:04ID:???range()関数がある、そうですか・・・でもあんまり使われて無いよね。
$months = array();
for($i=1;$i<=12;$i++){
$months[] = $i;
}
これを見るのはもううんざり。
単純なfor 文でさえ、foreach(array(1..12) as $i){} と書きたい俺が偏ってるんだが
あと上記の $i をブロックローカルにする方法を提供して欲しい。
ってみんな言ってるなw
0530nobodyさん
2008/01/14(月) 15:49:58ID:???0531nobodyさん
2008/01/14(月) 15:52:31ID:???0532nobodyさん
2008/01/14(月) 15:53:29ID:???Perl, Rubyでの 1..10 よりは PHPのrange(1, 10) は少ない印象
0533nobodyさん
2008/01/14(月) 15:54:12ID:???function a($a){return array($a);}
0534nobodyさん
2008/01/14(月) 15:54:22ID:???0538nobodyさん
2008/01/14(月) 16:00:08ID:???そういうのやってる奴もいるだろうけど、配列を作るのに演算子じゃなくって関数にするのはコストが大きすぎると思うな。
htmlspecialchars()をh()にするとかは、使われる個所も少ないし、いいかなと思うけど。
0539nobodyさん
2008/01/14(月) 17:15:59ID:???$h( $cont);
関数定義するのが嫌ならこれでいいんじゃね?
0540nobodyさん
2008/01/14(月) 17:19:31ID:???忘れて
0541nobodyさん
2008/01/14(月) 17:29:41ID:???使う側としてはなんで未だに実装しないんだろう、
絶対 [] の方が便利じゃん、って感じなんだけどなあ
保守的だなと感じる
0542nobodyさん
2008/01/14(月) 19:18:44ID:???インデントの綴りはindentだ。
あとはYahoo辞書とかgoo辞書とかあるだろ?な?
dataの複数形がdatasだと思ってるプログラマ並みに見ててかわいそうだからちゃんと調べてこい。
0544nobodyさん
2008/01/14(月) 20:55:16ID:???foo([])
$var = [];
とか書き方されるとみにくくってワカンネ。
$foo['a'] = 1;
$foo = ['a'];
がややっこしくて読みにくい。
みたいな理由。
いや読みやすいだろう、っていう奴もいたり色々だが、rejectするクリティカルな理由はまだ見当たらないな。
そのわりにvoteの半分ぐらいが反対派でrejectされそうだったり。
0545nobodyさん
2008/01/14(月) 23:22:43ID:???ヒゲに「PHP使いはなんちゃってプログラマー」と断言されてPHPER失神www
0546nobodyさん
2008/01/14(月) 23:44:19ID:???URL間違えてた
0547nobodyさん
2008/01/14(月) 23:47:22ID:???0548nobodyさん
2008/01/15(火) 02:20:54ID:???0549nobodyさん
2008/01/15(火) 03:11:54ID:???0550nobodyさん
2008/01/15(火) 04:08:21ID:ivklLH2pPHPフレームワークについてのアンケート
http://enq-maker.com/3gbtgIH
0551nobodyさん
2008/01/15(火) 04:16:12ID:???0554nobodyさん
2008/01/15(火) 04:53:45ID:???0555nobodyさん
2008/01/15(火) 09:19:38ID:???PHPはなんちゃって、スーツとギークの話は同意。
0557nobodyさん
2008/01/15(火) 11:54:55ID:???これは禁則事項です。だったか?
0558nobodyさん
2008/01/15(火) 12:23:06ID:???検索するときに、
「テスト123」で検索すると
「テスト123」
「テスト123」
「テスト123」
「テスト123」
とか、様々なパターンに分けて検索したいんだが・・・
今はmb_convert_kanaで1個ずつやってる
0562nobodyさん
2008/01/15(火) 19:30:10ID:???0563nobodyさん
2008/01/15(火) 20:53:26ID:???どいつもこいつも女であることを過剰に意識し
かつ女であることに寄っかかってるからうざいな
http://wiredvision.jp/news/200801/2008011123.html
このくらいのレベルになればまあいいけど
べにじょとか言う馬鹿女はちんぽでビンタしてやりたい
0564nobodyさん
2008/01/15(火) 21:27:28ID:???0565nobodyさん
2008/01/15(火) 21:52:54ID:???Q49 思わず「こ れ は ひ ど い」と口にしてしまったコードがあれば教えてください。
自分が書いたものも含めてしょっちゅうですが、
世界平和のためにこの回答は禁則事項としておきましょう。
0567nobodyさん
2008/01/15(火) 22:26:17ID:???かわいいかどうかも分からんし
決まって選びに選んだ曖昧なショットを載せてるからな
Jade Raymond様になら優しくしかって欲しいが…
0569nobodyさん
2008/01/15(火) 22:31:24ID:???>Jade Raymondは、カナダのマギル大学でコンピュータ科学の学士号を取得し、軍事科学も副専攻して卒業した。
攻略されてえええ
0570nobodyさん
2008/01/15(火) 22:40:52ID:???0571nobodyさん
2008/01/15(火) 22:43:41ID:???0572nobodyさん
2008/01/15(火) 22:51:04ID:???Q61 コンピュータ関係以外で趣味と呼べそうなものはありますか?
僕は「趣味は?」と聞かれたら「悪くありません」と答えることにしているのです。
いいえ、悪いですよ?
0573nobodyさん
2008/01/16(水) 16:36:00ID:???ドキュメントも整ってるし、重すぎない中庸な感じが人気の秘訣か?
0574nobodyさん
2008/01/16(水) 16:39:12ID:???標準のormだと全文検索できなくね?
やっぱ自分で書いてんの?
0575nobodyさん
2008/01/16(水) 22:54:15ID:fD4Q9VvA0576nobodyさん
2008/01/17(木) 00:33:00ID:???ネタと思ってたけど実際にそうだったらびびるな・・・
実は隠れたメジャーフレームワークだったとか
0577nobodyさん
2008/01/17(木) 00:50:04ID:???0578nobodyさん
2008/01/17(木) 08:13:34ID:???0579nobodyさん
2008/01/17(木) 09:25:11ID:???0580nobodyさん
2008/01/17(木) 09:25:48ID:???PHP投げ出す
0581nobodyさん
2008/01/17(木) 11:03:06ID:???PHPで作られた勘定系とか、恐ろしくて使えんな(www
0582nobodyさん
2008/01/17(木) 11:21:27ID:???0583nobodyさん
2008/01/17(木) 11:22:31ID:???0584nobodyさん
2008/01/17(木) 11:23:12ID:???0585nobodyさん
2008/01/17(木) 18:09:31ID:???MySQL が Oracle や IBM を追い詰めるって妄想にもほどがあるw
Sun の狙いは現行 MySQL で構築してあるシステムを Sun のハード & ソフトに置き換えること。
そこそこ規模の大きいとこは SPARC + Solaris + Oracle でリプレースすること。
つまり現 MySQL ユーザの取り込みだよ。Sun はそういう会社。それ以外に興味はない。
過去に Sun に買収されたところがどんな冷や飯を食ったか (あるいはお亡くなりになったか)、
Cobalt を例に挙げよう。
1. Cobalt 買収。これで Sun にも I/A + Linux の販売基盤ができたとメディアが騒ぐ ← 今の MySQL
2. Sun、サポート体制配備。客とのコネ作り。
3. Cobalt 塩漬け開始。ほぼ同時に Sun が I/A ハード販売開始。
4. 2 世代も古くなればさすがに客も Sun の I/A、SPARC サーバへ乗り換えはじめる。
5. Cobalt 終了のお知らせ。
これ見てるとPHPじゃなくてMySQLが脂肪…?
0586nobodyさん
2008/01/17(木) 18:25:12ID:???0587nobodyさん
2008/01/17(木) 18:42:24ID:???0588nobodyさん
2008/01/17(木) 19:02:42ID:???0589nobodyさん
2008/01/17(木) 19:05:38ID:???■ このスレッドは過去ログ倉庫に格納されています