トップページphp
1001コメント310KB

【PHP】フレームワークについて語るスレ9【総合】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/12/11(火) 23:37:20ID:???
前スレ
http://pc11.2ch.net/test/read.cgi/php/1192604501/
04234222008/01/07(月) 01:08:38ID:???
連投すんません。symfonyってpearに依存してたりしますか?
0424nobodyさん2008/01/07(月) 03:11:10ID:???
>>422 まず日本語の日常会話から勉強を始めることをお勧めします。
0425nobodyさん2008/01/07(月) 07:37:46ID:???
>>422
自鯖立ててるor専鯖組み上げからできるなら使ってみればいい
と思うよ。(共有鯖だと正直動作が重い)
pearはインスコ時のみコマンドラインで使えればおk。
04264222008/01/07(月) 09:30:50ID:???
>>425
重いっすか・・・どの辺が重いんでしょう?DBまわりとか?
オプソで配布を目指してるんですが、自作FWのがいいのかなぁ
04274242008/01/07(月) 10:19:47ID:???
>>426 我ながらおこちゃまな対応なので訂正。

自作のFWを基準にするのであれば
おそらく他の軽量なフレームワークの方が
用途にあっていると思います。
0428nobodyさん2008/01/07(月) 13:22:00ID:???
>>422
Struts(Java) → mojavi → agavi → symfony
RoR → CakePHP、CodeIgniter
0429nobodyさん2008/01/07(月) 13:33:33ID:???
ciとrorってちょっとちがくね?
symfonyは原型がmojaviだけどrorからどんどんパクって
struts成分はほとんどそぎ落とされてる印象
04304222008/01/07(月) 23:48:09ID:???
>>427
どうもです。
symfonyのsandboxを動かしてみてZend Studioのprofileで確認したら
前処理がかなりありますね。
自作FWより倍以上遅いし、今後の事考えると、ちょっと厳しいかな・・・
その他軽量の使うくらいなら自作にしときますわ。
0431nobodyさん2008/01/08(火) 09:47:28ID:???
ちいたんでいいたん
0432nobodyさん2008/01/09(水) 01:31:10ID:???
ちいたんの使い方がよく分からん><
0433nobodyさん2008/01/09(水) 01:32:07ID:???
ちいたんはしょぼいから無難にメジャーの奴にしとけ
0434nobodyさん2008/01/09(水) 02:23:30ID:???
CodeIgniter独自のセッションクラスは、クッキーにデータを保存するんですね。
クッキーが使えない携帯サイトの場合、PHPのsession関数を直接使うしかないでしょうか?><

http://userguide.cilab.info/libraries/sessions.html
セッションクラスは、各ユーザのセッションの情報をシリアライズして(オプションで暗号化して)クッキーに保管します。
デフォルトでは、クッキーだけが保存されます。
Note: セッションクラスは、PHPに組み込みのセッションを利用しません。
0435nobodyさん2008/01/09(水) 03:15:09ID:???
ちいたんは使い方がわからないからciを使った
ciはわかりやすくてシンプルで結構いいね
0436nobodyさん2008/01/09(水) 12:27:15ID:???
簡単さがウリのちいたんの使い方が分からないってどんだけ
0437nobodyさん2008/01/09(水) 22:56:31ID:7z+0iS0h
>>434
http://codeigniter.com/wiki/Native_session/
なんかどう?
0438nobodyさん2008/01/10(木) 01:12:05ID:???
>>436
ちいたんは、チュートリアルのブログと同じものを作れただけでオワタ\(^o^)/
ソースコードをトレースして使い方を理解しなきゃならんのだろうか?

cとかmとかシュガーシンタックスが用意されているっぽかったが、頭がこんがらがった。
CakePHPを使ったことがある人には分かりやすいのかな?

…誰かちいたんの解説本を出してください!><(ってどんだけw)
0439nobodyさん2008/01/10(木) 01:56:01ID:???
>>438
学習コストの高いFWはダメだと思う
ciを使いなさい
英語のドキュメントだけしかないのにそちらの方がわかりやすい
0440nobodyさん2008/01/10(木) 03:25:09ID:???
実際ちいたんは分かりづらいよ。素直にCake使うべき。
0441nobodyさん2008/01/10(木) 22:28:42ID:???
最近Pieceを使いはじめたけど、これは良い
国産(という区分に意味があるかは微妙だけど)のPHPフレームワークとして、
野心的で世界的な普及を狙えるものだと思う
ただ、ドキュメントが…
0442nobodyさん2008/01/10(木) 23:09:48ID:???
>>441
あれはWebサービス作るには致命的な欠点があるよ。
開発者は誰も気がついてないんだろうか。
0443nobodyさん2008/01/10(木) 23:25:09ID:???
>>434
http://pc11.2ch.net/test/read.cgi/php/1177683436/
こっちにも来てね
0444nobodyさん2008/01/10(木) 23:34:56ID:???
>>442
kswk
0445nobodyさん2008/01/10(木) 23:34:56ID:???
>442
そうなん? あるとしたらFlowだよね(後は全部置き換え可能だから)
っていうか教えてやれよw
0446nobodyさん2008/01/11(金) 00:13:18ID:???
http://codezine.jp/a/article/aid/2124.aspx
Ruby公式ロゴ画像無償配布開始でPHP茫然自失www
0447nobodyさん2008/01/11(金) 00:14:01ID:???
>>439
オフィシャルかは知らないけど、
CIはマニュアルの日本語訳あるよ。
0448nobodyさん2008/01/11(金) 00:24:53ID:???
>>446
なんでも死亡ネタにつなげるなwww
0449nobodyさん2008/01/11(金) 00:35:24ID:???
>>446
かっこいい!
phpもかっこいいロゴ欲しいなあ
0450nobodyさん2008/01/11(金) 00:47:38ID:???
PHPなんざ
ひび割れたPHPの文字にご飯粒がいっぱい付いたロゴがお似合いなんだよ!
0451nobodyさん2008/01/11(金) 00:57:48ID:???
http://slashdot.jp/developers/article.pl?sid=08/01/10/0845245
ソフトウェア産業うつなどメンタルな病にかかる人が他産業の10倍でPHPER病院直行www
0452nobodyさん2008/01/11(金) 09:37:40ID:???
>>451
職場で使ってる言語の統計とってみたら面白いだろうね。

言語シェアを反映してJapaが圧倒的で残りがPerlとPHPのような気がするな。
0453nobodyさん2008/01/11(金) 09:48:55ID:???
Pythonは鬱率低そう
0454nobodyさん2008/01/11(金) 11:52:02ID:???
japaワロスwww
0455nobodyさん2008/01/11(金) 13:04:34ID:???
ソフトウェア産業で骨折なんかするヤツはいないだろうから
メンタルが多いのは当たり前だと思うが。
0456nobodyさん2008/01/11(金) 16:07:47ID:???
この時期、朝5時に起きて6時から足場の雪かきとかやってた俺からすると、
暖房効いた部屋での座り仕事なんか屁でもないけどな。
弱すぎ。弱小動物は氏ね。
0457nobodyさん2008/01/11(金) 17:37:37ID:???
暖房でも心の寒さまでは温められないということですね
0458nobodyさん2008/01/11(金) 18:12:47ID:???
>>456
なんでそんなストロングマンがこのスレみてんの?(www
04594562008/01/11(金) 18:17:21ID:???
>>458
いや俺プログラマだしw
この業界で鬱だなんだのって、精神力よりも基本的能力が不足すぎてるのが原因だなー
WEB案件なんか余裕だろうに・・・
0460nobodyさん2008/01/11(金) 18:59:57ID:???
現実で誰にも相手にしてもらえなくて、
2ちゃんで自分語りの自慢厨を見ますと、
なんだか切ない気持ちになりますね
0461nobodyさん2008/01/11(金) 19:44:26ID:???
>>459
こないだ自殺したうちの同僚と、昨年心臓発作で死んだうちの同僚と、
同じく脳卒中で死んだうちの同僚の代わりにおまえが死ねば良かったのに。
0462nobodyさん2008/01/11(金) 22:56:10ID:???
お前の同僚死にすぎだろ・・・
0463nobodyさん2008/01/11(金) 22:57:14ID:???
なんか呪われてるだろ
0464nobodyさん2008/01/12(土) 00:12:31ID:???
>>437
参考になります!
PHPの生セッションを使えるように工夫してるんですね!

>>443
CIスレで勉強しよ。
なるほど、PHPの生セッション使える方法も用意されているんですね!
http://codeigniter.biz/rapyd_guide/classes/session.html

CI+Rapyd+ZFで、自分の欲しい部品が揃えばいいなー^^
0465nobodyさん2008/01/13(日) 13:49:59ID:???
http://www.moongift.jp/2008/01/jsruby/
JavaScriptで作ったRuby登場でPHP破滅www
0466nobodyさん2008/01/13(日) 14:39:47ID:???
Rubyで書いたPHPを作ればいいんだよw
0467nobodyさん2008/01/13(日) 15:29:13ID:???
RubyってJavaScriptで実装できる程ショボいんすかwww
0468nobodyさん2008/01/13(日) 17:19:54ID:???
PHPより簡単になって普及したら、別にRubyの乗り換えてもいい。
PHPはいつでも捨てられる。
今のところRubyでなければならない理由がない。
Ruby程度じゃPHPのニーズがゼロになる日はまだ来ない。
0469nobodyさん2008/01/13(日) 21:53:46ID:???
当たり前のことを持論みたいに言われたときってなえるよね。
0470nobodyさん2008/01/14(月) 00:22:49ID:???
PHP6でアクセラレータ内蔵されるってまじ?
PHPハジマタ
0471nobodyさん2008/01/14(月) 00:52:50ID:???
むしろ今まで毎回構文解析してた事がおかしい
0472nobodyさん2008/01/14(月) 00:54:47ID:???
んなこたない。再起動無しで変更反映する一番シンプルな方法。
0473nobodyさん2008/01/14(月) 01:13:43ID:???
開発中はオフにすればいいだけであって
毎回構文解析するのがシンプルな方法だとかそういう問題じゃない
0474nobodyさん2008/01/14(月) 02:16:51ID:???
今のアクセラレータだって再起動なんていらないだろ?
なに再起動って?
0475nobodyさん2008/01/14(月) 02:24:12ID:???
再起動ワロタ
0476nobodyさん2008/01/14(月) 03:05:45ID:???
標準でバンドルされるかどうかはさておき、APCは今でもPECLでインストール
できるから、大した変化じゃない。
今ホットな(MLで炎上している)話題はスカラーのタイプヒンティングとか、
[]で配列を宣言するとか、無名関数・クロージャとか、構文上の変更。
0477nobodyさん2008/01/14(月) 03:21:14ID:???
構文からごっそり変更されて古PHP脂肪www
0478nobodyさん2008/01/14(月) 04:08:34ID:???
>>476
PHPにそんなのいらねぇだろ。
RubyかPython使え。
0479nobodyさん2008/01/14(月) 04:43:33ID:???
476に言ってどうするんだろう。
0480nobodyさん2008/01/14(月) 04:55:08ID:???
後方互換性があるならどんな機能でも付ければいいとは思うが…
0481nobodyさん2008/01/14(月) 05:03:59ID:???
>476
無名関数・クロージャの話って盛り上がってたか?
なんかスルーくらってる気がするんだが。
でもあれ実装されて欲しいな。便利だ。

>480
RasmusとかAndiは大体そんなノリなんだけどな。
なんかそれ俺的に見にくしぃー、とか言う輩が多いんだ。
0482nobodyさん2008/01/14(月) 05:33:32ID:???
年末からの流れを要約してみた。
・無名関数・クロージャで盛り上がる(改良には賛成多数、パッチの内容にツッコミあり)
・タイプヒンティングで炎上(不要派、エラー派、キャスト派に別れての大混戦)
・無名関数パッチ&角括弧配列パッチ投下(無名関数スルー、角括弧で大荒れ)
・投票方法はどうするよ?(←今ここ)
0483nobodyさん2008/01/14(月) 09:55:06ID:???
うわぁ〜、それらの機能全部欲しいわぁ。もちろん後方互換で。
そしたらマジで他の言語を使うメリットがないだろ。
初学者にも、ある程度なれた者にも使い易くなりそう。
0484nobodyさん2008/01/14(月) 10:34:46ID:???
スカラを廃止して全部オブジェクトにしろ。
0485nobodyさん2008/01/14(月) 11:10:15ID:???
PHP主に使ってるが無名関数とかクロージャとかいらんわ。読みにくくなるだけ
0486nobodyさん2008/01/14(月) 11:47:41ID:???
クロージャなんてマゾい機能イラネ
0487nobodyさん2008/01/14(月) 11:51:26ID:???
ねこにこばん
PHPコーダにクロージャ
0488nobodyさん2008/01/14(月) 12:10:02ID:???
クロージャってなーんじゃ?
0489nobodyさん2008/01/14(月) 12:45:42ID:???
どういう場合に役立つのか簡潔に説明してくれ。簡潔じゃなくてもいいけど。
0490nobodyさん2008/01/14(月) 13:11:38ID:???
>>489
ある部分でコーディングが楽になる。

なかったら困るというようなもんではない
あったら便利という感じ

個人的にはクロージャはまだなくてもいい

まずは配列を角括弧で宣言できるようにしたり
無名関数をきちんと扱えるようになって欲しい。
あとスカラーのタイプヒンティング。
0491nobodyさん2008/01/14(月) 13:14:39ID:???
変数に$つけるのダサいからやめて欲しい
0492nobodyさん2008/01/14(月) 13:25:42ID:???
$は全然気にならないな。パッと見で変数を区別しやすいし。
0493nobodyさん2008/01/14(月) 13:26:14ID:???
>>490
よく知らないんだが、Perlにある
sort { $a cmp $b } @ar;
みたいなのはクロージャとは言わないの?
こういうのは欲しい。無名関数との区別がついていないけど。
0494nobodyさん2008/01/14(月) 13:27:24ID:???
>>493
Perlをよく知らないんだが、それはどういうことしてるの?
0495nobodyさん2008/01/14(月) 13:30:18ID:???
>>490
だからそのある部分ってなんだよ.
0496nobodyさん2008/01/14(月) 13:34:57ID:???
それを教えたところで何になるんだ。
0497nobodyさん2008/01/14(月) 13:35:01ID:???
JavaScriptみたいにクラスが無い言語(2.0ではあるんだっけ?)でクロージャが
使えないと、動的にイベントハンドラ作りまくるときにひどく面倒。
JavaScriptの用途がクロージャがあると嬉しい用途であるとも言える。

クラスがある言語だと無理にレキシカルスコープを後付けするよりは
無名クラスでクロージャもどきを実現した方が良いと思う。

$handler = new class{
 private $var;
 public function __construct($var) {
  $this->var = $var;
 }
 public function hoge() {
  /* ... */
 }
}($var);

みたいな。見た目の好き嫌いはあると思うけど、このほうがコンパイラと
仮想マシンの実装がgdgdにならずに済むので。
まあ、ここまでやらなくても普通のクラスで事足りるかな、とは思う。
0498nobodyさん2008/01/14(月) 13:35:44ID:???
>>496
教えないことによって何の不利益があるんだ
0499nobodyさん2008/01/14(月) 13:37:51ID:???
>>494
配列@arをソートした配列を作って返している。だから返り値受けなきゃあんまり意味無いけど。
@ar = ('E', 'B', 'A', 'C', 'D');
print join(',', (sort { $a cmp $b } @ar)); #=> "A,B,C,D,E"

んで、{ $a cmp $b } の部分はクロージャなのかな、と。
0500nobodyさん2008/01/14(月) 13:40:08ID:???
>>497
冗長すぎる。マクロで隠蔽できる言語ならばそれでもいいけど。
0501nobodyさん2008/01/14(月) 13:41:07ID:???
>>493
それはただの無名関数。
うまくいけばこんな風に書けるようになるらしい。

usort($ar, function($a, $b){ return strcmp($a, $b); });

Perlのコードよりはだいぶ長いけど、そもそもコードの短さでPerlと勝負するのは無理。
0502nobodyさん2008/01/14(月) 13:43:10ID:???
>>500
特にプロパティへの代入にコンストラクタ使ってるあたりがね。
だから普通のクラスでいいやん、って自分で書いてて思った。
0503nobodyさん2008/01/14(月) 13:46:14ID:???
Perlのq/qq/qwあたりが欲しいな
0504nobodyさん2008/01/14(月) 13:53:16ID:???
>>501 thx
調べたら、現行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:???
create_functionのクソっぷりはPHPの中でも異常
0506nobodyさん2008/01/14(月) 14:06:29ID:???
create_functionはクロージャでもなんでもないしな
ただ関数定義のコード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:???
クロージャって、ブロック外のローカル変数を参照しているサブルーチンのことをいうんだろ?無名関数とは明らかに違うもんだろ?
0513nobodyさん2008/01/14(月) 14:41:50ID:???
>>511
WUXGAくらいのディスプレイ使ってて、1行に100文字でも200文字でも伸ばしていいなら名。
0514nobodyさん2008/01/14(月) 14:43:53ID:???
> PHPってさあ、$arr = array('a'=>array('A'=>array(1,2,3)))みたいな超絶見づらい・インデントできないコードを強制されるから、なんとかして欲しいわ。
意味わかんねwwww

俺はどこかで見た、行の入れ替えをしやすいとかいう理由で、
こういう書き方をしているよ。多少例外はあるけどね。

$arr = array(
 'aaa' => array(
  'AAA' => array(
   1111,
   2222,
   3333,
  ),
 ),
);
0515nobodyさん2008/01/14(月) 14:45:26ID:???
>>513
> WUXGAくらいのディスプレイ使ってて、1行に100文字でも200文字でも伸ばしていいなら名。

インデントしたいんじゃなかったのか?

インデントできないといったり、インデントを否定したり、
お前はいったいどういうコードを書きたいんだ?
それとも他人か?
0516nobodyさん2008/01/14(月) 14:46:35ID:???
>>514
それがインデントできてない状態なんだよ。array()のせいで、スペースを大量に入れるか、ズレるのを我慢しないといけない。
PerlでもRubyでもJavaScriptでもほとんどの言語は[]や{}で配列を宣言できるんだから。
0517nobodyさん2008/01/14(月) 14:50:35ID:???
>>516
だからお前はどう書きたいんだよw
書いてみな。ほら。
0518nobodyさん2008/01/14(月) 14:51:56ID:???
array()でも[]でも変わらんと思うが
0519nobodyさん2008/01/14(月) 14:54:21ID:???
>>514のようなコードをさして
「インデントできていない!」といったら
誰だって、はぁ?ってなるよ。間違いない。
0520nobodyさん2008/01/14(月) 14:56:59ID:???
>>503
> Perlのq/qq/qwあたりが欲しいな
同意だ
0521nobodyさん2008/01/14(月) 15:06:04ID:???
>>516
> それがインデントできてない状態なんだよ。array()のせいで、スペースを大量に入れるか、ズレるのを我慢しないといけない。
インデント以外のスペースは入っていないし、ずれてもいない。

あー、あれか、お前にとってのインデントとは、括弧がある列をそろえることか?w
if (・・・) {
・・・
}

あんた、こういう書き方を認めない奴だろ?
インデントになってなーいとかいって、
if (・・・)
{
・・・
}
こう書き換えさせるんだろ?w
0522nobodyさん2008/01/14(月) 15:23:18ID:???
あのさー、PHPしか使ったことないとそれが当たり前に思えるのかもしれないけど、他の言語じゃ[]や{}を使って配列を定義するのが当たり前だから。
実際、それが不便だから、PHPのデベロッパーも要件として検討してるんだろ。
YAMLは先頭に-を付けるだけだから読みやすいんであって、yaml()で全部くるめってなったら、誰も使わないよ。
■ このスレッドは過去ログ倉庫に格納されています