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


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

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



1 名前:nobodyさん mailto:sage [2008/02/09(土) 10:43:58 ID:???]
前スレ
pc11.2ch.net/test/read.cgi/php/1197383840/

723 名前:nobodyさん mailto:sage [2008/06/25(水) 20:15:21 ID:???]
>>722
家を建てるに当たって、その骨組みが出来ているって感じ。
で、その骨組みに合わせて作っていくので、やりやすいよと。

>>722の車の例えだと、PEARとか見たいなライブラリだね。フレームワークではない。

724 名前:nobodyさん mailto:sage [2008/06/25(水) 20:27:52 ID:???]
>>723
ありがとうございます。

ってことは、一戸建ての骨組みができている状態からスタートして
中身の部屋とかキッチンとかを入れて(?)いく。ような感じ?

フレームワークの違いってのは、その『骨組み』がマンションだったり一戸建て
だったりするってことなんでしょうか?



今、悩んでいるのは、フレームワークを使った方がいいのか、今までのように
普通(?)に作るのがいいのか。という所なんです。


725 名前:nobodyさん [2008/06/25(水) 20:34:00 ID:gyu7FUKS]
直訳すると枠組み、だと思うんだが、骨組みの方が俺的にもしっくり来るね。

PHPを粘土と例えて、像を作ってみよう、という事になった時の事を考えてみると
いきなり粘土で像を作る事はできると思うが、やっぱり、予め骨組みあった方が作りやすいだろ?

でも、骨組みが、犬の骨組みだとしたら、人間の像を作るのは却って難しいと思う。

>>716
なるほど。という事は現在は大分変わってるのか。
そのうち、また見てみる事にするよ。


726 名前:nobodyさん mailto:sage [2008/06/25(水) 20:34:34 ID:???]
>>724
そういうところで悩む人は、多分人のソースなんかあんまり読まない様なタイプの
人だろうから、いっぺん使ってみるのは勉強になるんではないかと偏見だけど思う。

まあ業務に使うかどうかは置いておいて、PHPでお仕事しているんなら触って損は
無いかと思う。

727 名前:nobodyさん mailto:sage [2008/06/25(水) 20:40:00 ID:???]
こんな抽象的な話を聞いて何が分かるんだろうw

728 名前:nobodyさん mailto:sage [2008/06/25(水) 20:41:46 ID:???]
>>724
ページの遷移部分だとか、データの検証(バリデーション)部分だとかが簡単に出来たり、
フレームワーク自身が持っているライブラリが便利だったりとか。
データベースへのアクセスに関しては各フレームワーク共に工夫されてて凄く使いやすいです。

>フレームワークの違いってのは、その『骨組み』がマンションだったり一戸建て
だったりするってことなんでしょうか?

そうですね。「ちいたん」見たいなライトウェイトなフレームワークは一戸建てな感じで、
synfonyやEthnaやCakePHPなんかはマンションみたいな巨大なプロジェクトの開発に向いてるかと。


>今、悩んでいるのは、フレームワークを使った方がいいのか、今までのように
普通(?)に作るのがいいのか。という所なんです。

フレームワークは、できるなら使ってみたほうがいいと思います。
開発の規模や趣味趣向によって合う合わないってのはあると思いますが、
プログラムを組む上での手法として、勉強になる部分は大きいですし。

とりあえず、賛否両論歩けど、CodeIgniterなんかを触ってみてはいかがでしょう。
日本語のマニュアルが充実しているのと、割かしライトウェイトなので、扱いやすいのではないでしょうか。



729 名前:nobodyさん mailto:sage [2008/06/25(水) 20:43:00 ID:???]
>>725
ありがとうございます。

>>でも、骨組みが、犬の骨組みだとしたら、人間の像を作るのは却って難しいと思う。
これ気になります…

>>726
ありがとうございます。

自分はまだ、人のソースをじっくり見て分かる所まで行ってないと思います。
なんか、好きなようにしたくて。ソースはかなり変かもしれません。

今『CakePHP』の関連サイトを見てました。
CakePHPってどうでしょうか?


明日、ジュンク堂とか行って関連本探してこようと思います。




730 名前:nobodyさん [2008/06/25(水) 20:46:21 ID:gyu7FUKS]
下げ忘れた(汗)

>今、悩んでいるのは、フレームワークを使った方がいいのか、今までのように
>普通(?)に作るのがいいのか。という所なんです。
なるほど。フレームワークを学習するのには、コストがかかるからそういう風に悩むのは正しい姿勢だと思うよ。

で、まずは、どれだけの時間があるか?という所をはっきりさせるべきだと思うね。今書いたように「コストがかかる」から。

フレームワークを使わないでもできない事はないレベル & 時間が無い(半年以下)なら、たぶん今まで通り作った方がいいと思う。
(半年、というの人によるかな。でも、最低1ヶ月は学習する時間が欲しい。)

かなり大きなアプリになる予定(設計がまだ未定。先が見えない)& 時間がある、というのなら、なにかフレームワークを使う事を考えた方がいい。
後で付け足す事になったとしても、フレームワークで作ってあると、部品を付け足せるように設計されている(事が多い)からね。



・・・実際のお客様というのは、かなーり想定外の要求してくるから、それでも吸収できないくらいの事を言ってくる事もあるんだがな・・・

731 名前:nobodyさん mailto:sage [2008/06/25(水) 20:47:14 ID:???]
もうすでに無駄なコストかかってるんでは



732 名前:nobodyさん mailto:sage [2008/06/25(水) 20:53:37 ID:???]
また忘れた(汗)
ってか、みんなレス早いな。

>>でも、骨組みが、犬の骨組みだとしたら
実際には、webアプリの骨組みだから、あまり気にしないで大丈夫だと思う。
まぁ、時間あるならいくつかいじってみて、そのフレームワークの癖を見ておくのもいい勉強になるはず。
(あぁ。結構勉強してそうだからこんな事言っちまったが・・・たぶん、PEARを使いこなせる・・・使えるくらいの力量あるよね?もし無かったとしたら、まずは、ライブラリを使いこなせるようになってから、がいいと思う。)

# Cakeについては、使ってないので他の方に

733 名前:nobodyさん mailto:sage [2008/06/25(水) 20:58:58 ID:???]
>>729
CakePHPで一回チュートリアルとか「10分で作る〜」とかを見て、一回作っていいかもしれない。
普通にプログラム作ってるだけだったりすると、なんでこんな動きするのか分からないような動きする。

今後、フレームワークを使わないプログラムを書くにしても、凄く勉強になるよ。

734 名前:nobodyさん mailto:sage [2008/06/25(水) 21:03:51 ID:???]
>>728
ありがとうございます。

CodeIgniterってのは聞いたことがなかったのでちょっと
見てきます。


>>730
ありがとうございます。

メインはデザイン仕事でやっているので、時間はそれなりに
とれそうです。
自分としても勉強したい部分もあります。

ライブラリに関しては…”使いこなしてる”とまでは…


>>733
ありがとうございます。
>CakePHPで一回チュートリアルとか「10分で作る〜」とかを見て、

やっぱりそれが一番かもしれませんね。

>普通にプログラム作ってるだけだったりすると、
なんかコワイですね。

明日本屋行ってきます!

皆さん、いきなりなのに本当にいろいろありがとうございました!




735 名前:nobodyさん mailto:sage [2008/06/25(水) 21:41:34 ID:???]
「フレームワークを使えば、アプリケーションを効率よく開発できます」
っていう言葉は、誤解を招く売り文句だと思う。

現実には、フレームワークの内部動作を調べて、
中で何をやってるかだいたい分かるレベルになって初めて
効率よく安全なアプリを自信を持って作れるようになる。
と思うけどな。

736 名前:nobodyさん mailto:sage [2008/06/25(水) 22:45:59 ID:???]
>>735
正しい動作がしないとか、問題が出たときに見ればいいんじゃないのかね。
そのためにチュートリアルとか、マニュアルサイトとかあるわけだし。

PHPやるのに、PHPの関数のソースコードまで読まないでしょ?

737 名前:nobodyさん mailto:sage [2008/06/25(水) 23:06:49 ID:???]
>>736
それはその通りなんだけどね
世の中には、想像を絶するような要求をしてくる人がいたりして、そういう要求を満たす為には・・・という事なんじゃないかな。
普通は、チュートリアルをこなせば(一応)使えるようなレベルにはなるはず。

とはいえ、そのレベルだと、そのフレームワーク臭さ(?)が抜けないアプリしか出来ないけど。

あぁ。現在のPHPのフレームワークはRAD機能がついているのばっかりだから、そういう奴で標準的なアプリを作って試してみるといいんだな。
で、そのフレームワークらしさが気に入ったら使えばいいと。

738 名前:nobodyさん mailto:sage [2008/06/25(水) 23:22:18 ID:???]
>>735
Emacsとかviのような変態エディタみたいなもんか
操作を覚えるまでの過程を考えると必ずしも開発効率が向上するとは限らないみたいな

739 名前:nobodyさん mailto:sage [2008/06/25(水) 23:42:13 ID:???]
>>737
ちょっと話題とずれるけど、
d.hatena.ne.jp/sotarok/20080422/php_framework_fight
最近、こんなの見つけた。

各フレームワークで同一アプリケーションを作成して、その使いやすさだとか、コーディング量が少ないのがどれか
とかを決めるような大会みたい。

740 名前:nobodyさん mailto:sage [2008/06/26(木) 00:01:32 ID:???]
>>736
PHPのソースコード(C++?)は読まないけど、マニュアルは死ぬほど読む
ヴァージョンの差異もでかいしorz

んで、フレームワークでソースコードを読むのは、PHP程ドキュメントが整備されて
いないから、っていうのが一番大きい気がする。「正しい動作」とか「使い方」が、実は
サンプルを含めてソースを読まなきゃわからない、みたいな。

だから「問題が出たとき」だけソースを読めばいいとは思わない。
というか、それで現行のフレームワークが使える気がしない俺がいる

741 名前:nobodyさん mailto:sage [2008/06/26(木) 00:06:30 ID:???]
>>736
たまにPHPのソースコード(Cだよ)も読むよ

>>738
そうそう
苦労量保存の法則

でも、覚えてしまえば、品質を保ったままで開発スピード
を上げられるから、やればやるほど楽して儲けられるはず。



742 名前:nobodyさん mailto:sage [2008/06/26(木) 00:40:00 ID:???]
>>740,>>741
なるほど〜。

フレームワークってちょろっと眺めてちょっと使ってみる、ぐらいしかしたこと無いわけだけど、
確かに理解しきるのは困難極めそう。

実際、Webで結構出てるPHPフレームワークって、日本の企業さんとかはつかってるところあるのかな?


743 名前:nobodyさん mailto:sage [2008/06/26(木) 05:27:45 ID:???]
そんなの使いまくりにきまってるやん
企業が使わずしてどこで使うの

744 名前:nobodyさん mailto:sage [2008/06/26(木) 07:21:25 ID:???]
大きめの企業でなら、Ethnaとか一時期多かったんじゃない?
さすがにCakePHPやちいたんを使うようなイメージは持ちにくい

まあベンチャーというか中小業者なら、担当者の趣味で半年
単位で採用フレームワークが変わってても驚かない
それをもって企業が使っていると言うのは、抵抗があるけど

745 名前:nobodyさん mailto:sage [2008/06/26(木) 07:26:20 ID:???]
フレームワークを使ってない企業の方が少ないだろ

746 名前:nobodyさん mailto:sage [2008/06/26(木) 14:03:08 ID:???]
日本で作られたフレームワークは使う気がしない。

やっぱり世界規模で進んでいるものの方が安心だよね。

747 名前:nobodyさん mailto:sage [2008/06/26(木) 14:07:52 ID:???]
>>746
そーでもない。マルチバイトって何?おいしいの?っていう開発者?も
英米圏にはてんこ盛りだということを忘れてはいけない

だからといって国産が使いやすいわけでも無いけど、日本はそれなりに
良い線いってるんじゃ無いかとも思う。
世界規模にならないのは、コミュニティやドキュメントが英語ベースじゃ
ないからだけじゃね?

748 名前:nobodyさん mailto:sage [2008/06/26(木) 14:16:13 ID:???]
今時UTF8対応じゃないフレームワークは、使う気がしない。

749 名前:nobodyさん mailto:sage [2008/06/26(木) 14:18:26 ID:???]
そんなのあるか?

750 名前:nobodyさん mailto:sage [2008/06/26(木) 14:25:59 ID:???]
まあメールライブラリはそのまま使えると思わない方が無難
Validationや文字数カウントが入る部分も微妙

UTF-8に限定すれば問題は少ないだろうけどね・・・。
コメントのコピーライト部分のラテン文字が必ず文字化けして
いるのは多分仕様です。・・・奴らはUTF-8使ってるのか?

751 名前:nobodyさん mailto:sage [2008/06/26(木) 14:41:05 ID:???]
ひと昔前までの印象としては欧州産はまだマシで、米国産はI18NとかM17Nとかいう発想が無いのが多かった気がする



752 名前:nobodyさん [2008/06/26(木) 19:00:58 ID:0xtx7Zko]
ethnaがとっつきやすくてよかった。
必要最小限の機能でやりたい事は全部やれた。


753 名前:nobodyさん mailto:sage [2008/06/26(木) 22:54:59 ID:???]
これからSmartyの仕事にかかる。本当に馬鹿らしい。もうこれでPHPの仕事を最後にしたい。

754 名前:nobodyさん mailto:sage [2008/06/27(金) 00:09:22 ID:???]
なるほど。Ethnaとかは使われてるんだね。

自社開発のクローズなフレームワーク使ってるっていう例も多いの?

755 名前:nobodyさん mailto:sage [2008/06/27(金) 00:25:40 ID:???]
俺はもうPHPを捨てたぜ!
もう醜いのはうんざりだ
これからはRubyたんとちゅっちゅするんだ

756 名前:nobodyさん mailto:sage [2008/06/27(金) 01:10:55 ID:???]
醜いのにうんざりしたと言いながら、よりにもよってRubyかいな

ありゃ便利だけど、あくまでbetter perlであって綺麗な世界ではないぜ
まだJavaScriptの方が一貫性と綺麗な世界、シンプルさ保っててる
醜いこと嫌ってweb用となら、pythonも併せて検討した方がいいかもね
Rubyが気になるようなら、もしかしたら君は醜いモノもある程度必要としている方の人かもしれん

もし醜くないことだけが評価されるなら、CのCGIはもっと普及していることだろうw

757 名前:nobodyさん mailto:sage [2008/06/27(金) 02:15:02 ID:???]
PythonよりRubyの方が美しく書けるだろJK
PythonのOOは後付で一貫してない部分があるし
OOPと手続き型の混在感がある
JSは悪くはないが、まじめなだけが取り柄でおもしろみに欠ける

758 名前:nobodyさん mailto:sage [2008/06/27(金) 03:07:52 ID:???]
醜く書き散らせてこそLL
汚く書きたくなきゃ制約の多い言語で十分だ
PHPに不満ある奴は、もっと泥に塗れられる言語を求めてるんだぜ
QIQとか、自由度と混沌を一緒に提案してくれてるんだ
本家にマージされてほしいぜ

あとJSはまじめどころか変態だぜw

759 名前:nobodyさん mailto:sage [2008/06/27(金) 03:35:51 ID:???]
うむ。JSはPythonもC++0xも取り込もうとしている変態言語(褒め言葉)

760 名前:nobodyさん mailto:sage [2008/06/27(金) 09:10:17 ID:???]
あいかわらずレベル低いやつらしかいないな。

761 名前:nobodyさん mailto:sage [2008/06/27(金) 09:32:26 ID:???]
RubyはPerlをオブジェクト指向風に作り直したような感じだもんな。



762 名前:nobodyさん mailto:sage [2008/06/27(金) 09:37:50 ID:???]
760みたいなこと書く奴が最もカス

763 名前:nobodyさん mailto:sage [2008/06/28(土) 19:37:31 ID:???]
非phpのfwを見て回ったが
CGIを高速に運用する環境で決定打を持つものがないな
どれも不安定っぽい
そう考えるとmod_phpの安定感は偉大だった

764 名前:nobodyさん mailto:sage [2008/06/29(日) 02:47:07 ID:???]
別にここはPHPまんせースレというわけでもないんだけどね
>>763の言いたいことはわかるけど、「PHPのフレームワーク」っていう
テーマからは見事にずれてるなw

765 名前:nobodyさん mailto:sage [2008/06/29(日) 02:48:58 ID:???]
>>764に補足
素のPHPに不満足な人間がすなわちフレームワークに関心を持つんだと俺は思ってる

766 名前:nobodyさん mailto:sage [2008/06/29(日) 02:52:54 ID:???]
>>763 に対してもうちょっと書いてみる
多分、競合相手は「CGI」ではなく、例えばTomcatベースのJavaプラットフォームだったり
asp含む.NetのWindowsサーバだったり。
あなたの持ち出した基準では、そういうプラットフォームのお話であって。

そういうレベルでは(良くも悪くも)このスレの関心の範囲外だと言ってみる

767 名前:nobodyさん mailto:sage [2008/06/29(日) 19:24:11 ID:???]
そして人は皆、perl+mod_perlに戻るのだ

768 名前:nobodyさん [2008/06/29(日) 19:31:13 ID:k12JEG0L]
PHP版Railsという意味ではSymfonyとCakePHPとどっちが
本命なんでしょうかね?

769 名前:nobodyさん mailto:sage [2008/06/29(日) 19:42:33 ID:???]
答えはどっちも否

770 名前:nobodyさん mailto:sage [2008/06/29(日) 19:52:21 ID:???]
PHPにRailsは馴染まなかったってこと?

771 名前:nobodyさん mailto:sage [2008/06/29(日) 19:57:50 ID:???]
蛙の子は蛙
鵞鳥は白鳥にはなられへんねん!



772 名前:nobodyさん mailto:sage [2008/06/29(日) 20:24:04 ID:???]
関西弁は嫌い

773 名前:nobodyさん mailto:sage [2008/06/29(日) 20:25:38 ID:???]
鵞鳥が読めずにググった俺涙目

774 名前:nobodyさん mailto:sage [2008/06/29(日) 20:32:14 ID:???]
PHP版RailsってまんまAkelosじゃん

775 名前:nobodyさん mailto:sage [2008/06/29(日) 20:33:32 ID:???]
あひるって最近は、公園に行ってもいそうでいないからなあ。

776 名前:nobodyさん mailto:sage [2008/06/29(日) 21:16:06 ID:???]
>>774
Akelosがどんなのか見てきたけど、こりゃ完全コピーだなw

777 名前:nobodyさん mailto:sage [2008/06/29(日) 22:15:09 ID:???]
Port of Ruby on Rails development framework and designed to work for PHP4 and PHP5.
と書いてあるだろ。
むしろPHP4に対応しちゃっている部分を問題視しろ。

778 名前:nobodyさん mailto:sage [2008/07/01(火) 12:45:16 ID:???]
お前らそろそろPHP4対応じゃないと、とか言わないよね?

779 名前:nobodyさん mailto:sage [2008/07/02(水) 06:01:43 ID:???]
PHPのsingletonって意味ねーよな
リクエストからレスポンスまでしかオブジェクトが存在しないのに
singletonだろうが何だろうがたいして意味ねーよ

780 名前:nobodyさん mailto:sage [2008/07/02(水) 08:47:37 ID:???]
>>779
そーなんだ!

781 名前:nobodyさん mailto:sage [2008/07/02(水) 23:39:22 ID:???]
>>780
分かってないみたいだが、そうだよ。define()でいい。



782 名前:nobodyさん mailto:sage [2008/07/03(木) 00:26:16 ID:???]
スレッドセーフ的には使えんて事?

783 名前:nobodyさん mailto:sage [2008/07/03(木) 01:56:11 ID:???]
スレッドは関係ないだろ

784 名前:nobodyさん mailto:sage [2008/07/03(木) 01:59:48 ID:???]
PHP自体スレッドセーフじゃない

785 名前:nobodyさん mailto:sage [2008/07/03(木) 07:18:34 ID:???]
>>781
全然良くねーよ。定数にできるのはスカラーのみ。オブジェクトは不可。
PHPでシングルトンパターンは専らグローバル変数を使わずに
共通のインスタンスを使い回すのに使われる。
Javaでの使われ方とは違うけど、意味がないわけではない。

あとPHPでスレッドプログラミングはできないけど、ZTSを有効にしてビルドされた
PHPはApache2のworker MPMみたいなマルチスレッドサーバ上でスレッドセーフに動作する。
リンクされているライブラリやサードパーティ製拡張モジュールに関しては保証されないけど。

786 名前:nobodyさん mailto:sage [2008/07/03(木) 07:23:17 ID:???]
確かになんでdefine?と思った

787 名前:nobodyさん mailto:sage [2008/07/03(木) 07:24:12 ID:???]
>>785
> PHPでシングルトンパターンは専らグローバル変数を使わずに
> 共通のインスタンスを使い回すのに使われる。

まあPHP4でのシングルトン実装は、みんな$GLOBALSへの放り込みだったけどなw
シングルトンのつもりで設計したのに & を付け忘れてオブジェクトコピーしまくってたり。
過去の話になってくれて、本当にめでたい。

788 名前:nobodyさん mailto:sage [2008/07/03(木) 08:06:55 ID:???]
>>787
そういえばPEARで $GLOBALS['_クラス名']['instances'] = array(); とかあったw(ていうか今でもある)
今は↓みたいなのが多いね。ものによっては__construct()をprivate/protectedにしてたり。
public static function getInstance() {
static $obj = null;
if ($obj === null) { /* 初期化 */ }
return $obj;
}

789 名前:nobodyさん mailto:sage [2008/07/03(木) 08:31:08 ID:???]
static $obj = null;
if ($obj === null) { /* 初期化 */ }
return $obj;
}
↑なんだそりゃw

790 名前:nobodyさん mailto:sage [2008/07/03(木) 11:54:17 ID:???]
>>788ってごく普通の書き方だと思うが。PHP4でもほぼ一緒。

791 名前:nobodyさん mailto:sage [2008/07/03(木) 12:46:50 ID:???]
>>790
ダウト?www

static がないから $GLOBALSに入れる、それがPHP4クオリティって話だろ?



792 名前:nobodyさん mailto:sage [2008/07/03(木) 13:01:00 ID:???]
あほか、php4だってstaticくらいあるだ

793 名前:nobodyさん mailto:sage [2008/07/03(木) 13:09:24 ID:???]
4でも関数のstatic変数はあり。5だとクラスのstatic変数に突っ込んだりはするね。

794 名前:nobodyさん mailto:sage [2008/07/03(木) 13:14:16 ID:???]
知らんかった。勉強になった。

んじゃ、むしろ>>788の書き方は(関数宣言を除けば) PHP4、5共用の書き方ってこと?
PHP5なら、クラス変数にした方がわかりやすいじゃん?って思ってしまうが、この書き方の
メリットってある?

795 名前:nobodyさん mailto:sage [2008/07/03(木) 14:11:05 ID:???]
PHP5の場合普通クラス変数に入れる
PHP4が苦渋の策だっただけ

796 名前:nobodyさん mailto:sage [2008/07/03(木) 14:29:05 ID:???]
一応、メソッド内のstaticだと、自クラスの他メソッドからも直接さわれない、
超private変数にはなる、のかなw ・・・メリット?

797 名前:nobodyさん mailto:sage [2008/07/03(木) 14:56:36 ID:???]
もうphp4は許してやれよ

798 名前:nobodyさん mailto:sage [2008/07/03(木) 14:57:42 ID:???]
static変数の場合スコープがそのメソッドのみになるから
singletonという意味ではそうしないと意味がないような
クラスプロパティだと書き換えられる

799 名前:nobodyさん mailto:sage [2008/07/03(木) 14:59:52 ID:???]
>>794
5だとstaticを付けなきゃいけないとか、4だと関数名の前に & を付けて、
呼び出し時も & が必要とか、微妙な違いがある。しかも内部的に等価じゃないし。
5だとクラス変数にしたほうがいいね。

800 名前:nobodyさん mailto:sage [2008/07/03(木) 15:05:49 ID:???]
>>798
そのクラスの中からしか書き換えられないから何の問題もない
っていうか、普通singletonってそういうもの

801 名前:nobodyさん mailto:sage [2008/07/03(木) 21:05:31 ID:???]
で、そのSingletonとやらをどう有効に使えるのかね?w
PHPだぞ、これ。Javaじゃない。
ふっつーにグローバル変数で何の問題も起きない。起こしたら本格的に痴呆だ。



802 名前:nobodyさん mailto:sage [2008/07/03(木) 21:17:58 ID:???]
まあそうね
PHPSDLとかイロモノ出て来てるの見ると、色々考えちまうがw

803 名前:nobodyさん mailto:sage [2008/07/03(木) 21:26:56 ID:???]
>>801
ライブラリやフレームワークでの記述の統一が無視できないと思う。

あんたの書いたライブラリで$GLOBALS['hogehoge']['pagepage']['instance']とか、
誰が使うかw
Hogehoge::getInstance() の方が憶えやすいし、見通しがいいに決まってるじゃないか。
ただの$_SESSIONアクセサ+アルファで、別にそれほど目立った特色のないSession
クラスや同様のCookieクラスが一部で存在する意味もそれだろ。

こういった要素を軽視する人間と一緒に作業できそうな気はあまりしない

804 名前:nobodyさん mailto:sage [2008/07/03(木) 21:46:38 ID:???]
>>803
>>801はフレームワーク不要とか言ってる人と同一人物じゃないかな?
趣味プログラマだと思うから、状況が違うんでしょう。
おそらくJavaで仕事したこともないからこその発言に見えるね。
なので議論は(フレームワーク不要論と同様に)平行線になるね。

805 名前:nobodyさん mailto:sage [2008/07/03(木) 21:52:42 ID:???]
まともなJava屋から「グローバル変数で何の問題も起きない」なんて発言が出るわけないもんな。

806 名前:nobodyさん mailto:sage [2008/07/03(木) 22:03:42 ID:???]
>>801
>>803とは違うことだけど、安全性の問題かな

このファイルをincludeすると、$なんとか っていうグローバル変数が
定義されますっていうのはちょっと・・・。
グローバル変数への格納・利用が、同一人物が同時期に書いたソース
のみで起こるんならまだいいんだけどね。

Xoopsも結構良くできてたけど、プラグインを作るときにこの辺が物凄く
引っかかった。クラスベースでも、覚えたりソース読んだりするのは同じ
なんだけど、少なくとも汚染されていない保証っていうのかな、そういう
ものが大事だと俺は感じた。

807 名前:nobodyさん mailto:sage [2008/07/03(木) 22:08:54 ID:???]
あまりむやみにグローバル変数を作るのはよくないけれど、限定された使い方ならいいと思う。
どうせシングルトンの対象になるのって、DBコネクションとか限られてるんだから。

808 名前:nobodyさん mailto:sage [2008/07/03(木) 22:37:22 ID:???]
Singletonだと継承した時、Singleton部分を再実装しないといけない
どうせSingletonの意味は薄いんだから、クラスは普通に書いて
Factoryで管理した方がいいかもね

809 名前:nobodyさん mailto:sage [2008/07/03(木) 22:43:15 ID:???]
>>808
意味がわからない。kwsk plz

810 名前:nobodyさん mailto:sage [2008/07/03(木) 22:55:35 ID:???]
>>808
agaviはContextクラスがAgaviModelの派生クラスのファクトリーになってて、
IAgaviSingleModelインターフェイスを実装している場合はSingletonになるようにしてる。

811 名前:nobodyさん mailto:sage [2008/07/03(木) 22:57:16 ID:???]
>>808
想定しているのはこういうのじゃなくて?
# これなら継承しても特に問題なさそうなんだけど・・・

class A
{
protected static $obj;
public static function singleton()
{
if(!isset(self::$obj)){
self::$obj = new stdClass();
}
return self::$obj;
}
}
class B extends A{}

var_dump(B::singleton());



812 名前:nobodyさん mailto:sage [2008/07/03(木) 23:14:16 ID:???]
ああ。なんとなくここまで流れで見えてきたポイントがある。

>>811 での Bクラスの singleton() では、例えば Aクラスを継承した
Cクラス・Dクラス・・・でも、「同じ」インスタンスが返ってくるなw

class B extends A{}
+ class C extends A{}

var_dump(B::singleton());
+ var_dump(C:::singleton());

んで、ぐーーーーっと戻るが、>>788 での記述でAクラスが書かれて
いたとすると、結果が変わる。
BクラスとCクラスでは、戻ってくるインスタンスが違う。
結局、こういうことなのかな?

詳しい人、解説頼む


813 名前:nobodyさん mailto:sage [2008/07/03(木) 23:30:04 ID:???]
時代はSingletonなのか? 

>>809
オブジェクトを管理しやすいんじゃないか?

814 名前:nobodyさん mailto:sage [2008/07/05(土) 12:22:18 ID:???]
シングルトンは初期化のタイミング気にしなくて良いのも大きいやん

815 名前:nobodyさん mailto:sage [2008/07/05(土) 15:04:11 ID:???]
>>813
シングルトンは昔からあるデザインパターンの一つだよ。

816 名前:nobodyさん mailto:sage [2008/07/05(土) 21:17:29 ID:???]
DIコンテナがあればシングルトンパターンなんて使わねーから。
そんなことより、JavaもPerlもRubyもMVCフレームワークって
ほぼ1択なのにPHPは乱立してんの?
決定版が出てこない時点で終わってるな。

817 名前:nobodyさん mailto:sage [2008/07/05(土) 21:51:53 ID:???]
>>816
ある意味、PHPの敷居の低さかな。もともとWEBフレームワークみたいなものだから、
基本機能(CookieだとかHTTP周りとか、出力とかサーバへのデプロイとかもろもろ)を
スキップしていきなり構築出来るし、書いてみれば結構できちゃった、みたいな感じじゃね?

818 名前:nobodyさん mailto:sage [2008/07/06(日) 03:59:03 ID:???]
>>816
DIコンテナ何使ってる?

819 名前:nobodyさん mailto:sage [2008/07/07(月) 15:48:06 ID:???]
・DIコンテナって何?その用途・利点は?
・DIコンテナとsingletonの関連は?
・DIコンテナを使ったPHPフレームワークってある?その得意とするケースは?

初心者が、ここでこれくらい聞いてもいい?

820 名前:nobodyさん mailto:sage [2008/07/07(月) 16:02:09 ID:???]
だーめっ☆

821 名前:nobodyさん mailto:sage [2008/07/07(月) 17:53:08 ID:???]
>>816
> ほぼ1択なのにPHPは乱立してんの?

PHPがオープンだからじゃないかな?

Javaも最近オープンになってきたから
フレームワーク増えてきているよね。



822 名前:nobodyさん mailto:sage [2008/07/07(月) 18:39:37 ID:???]
>>819
ググれカス

823 名前:nobodyさん mailto:sage [2008/07/07(月) 21:40:56 ID:???]
話についていけない!
Javaを勉強しないといけませんか?^^






[ 続きを読む ] / [ 携帯版 ]

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

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