私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】フレームワークについて語るスレ10【総合】
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
で、そのSingletonとやらをどう有効に使えるのかね?w
PHPだぞ、これ。Javaじゃない。
ふっつーにグローバル変数で何の問題も起きない。起こしたら本格的に痴呆だ。
PHPだぞ、これ。Javaじゃない。
ふっつーにグローバル変数で何の問題も起きない。起こしたら本格的に痴呆だ。
>>801
ライブラリやフレームワークでの記述の統一が無視できないと思う。
あんたの書いたライブラリで$GLOBALS['hogehoge']['pagepage']['instance']とか、
誰が使うかw
Hogehoge::getInstance() の方が憶えやすいし、見通しがいいに決まってるじゃないか。
ただの$_SESSIONアクセサ+アルファで、別にそれほど目立った特色のないSession
クラスや同様のCookieクラスが一部で存在する意味もそれだろ。
こういった要素を軽視する人間と一緒に作業できそうな気はあまりしない
ライブラリやフレームワークでの記述の統一が無視できないと思う。
あんたの書いたライブラリで$GLOBALS['hogehoge']['pagepage']['instance']とか、
誰が使うかw
Hogehoge::getInstance() の方が憶えやすいし、見通しがいいに決まってるじゃないか。
ただの$_SESSIONアクセサ+アルファで、別にそれほど目立った特色のないSession
クラスや同様のCookieクラスが一部で存在する意味もそれだろ。
こういった要素を軽視する人間と一緒に作業できそうな気はあまりしない
まともなJava屋から「グローバル変数で何の問題も起きない」なんて発言が出るわけないもんな。
あまりむやみにグローバル変数を作るのはよくないけれど、限定された使い方ならいいと思う。
どうせシングルトンの対象になるのって、DBコネクションとか限られてるんだから。
どうせシングルトンの対象になるのって、DBコネクションとか限られてるんだから。
Singletonだと継承した時、Singleton部分を再実装しないといけない
どうせSingletonの意味は薄いんだから、クラスは普通に書いて
Factoryで管理した方がいいかもね
どうせSingletonの意味は薄いんだから、クラスは普通に書いて
Factoryで管理した方がいいかもね
>>808
意味がわからない。kwsk plz
意味がわからない。kwsk plz
>>808
agaviはContextクラスがAgaviModelの派生クラスのファクトリーになってて、
IAgaviSingleModelインターフェイスを実装している場合はSingletonになるようにしてる。
agaviはContextクラスがAgaviModelの派生クラスのファクトリーになってて、
IAgaviSingleModelインターフェイスを実装している場合はSingletonになるようにしてる。
>>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());
想定しているのはこういうのじゃなくて?
# これなら継承しても特に問題なさそうなんだけど・・・
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());
ああ。なんとなくここまで流れで見えてきたポイントがある。
>>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クラスでは、戻ってくるインスタンスが違う。
結局、こういうことなのかな?
詳しい人、解説頼む
>>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
シングルトンは昔からあるデザインパターンの一つだよ。
シングルトンは昔からあるデザインパターンの一つだよ。
DIコンテナがあればシングルトンパターンなんて使わねーから。
そんなことより、JavaもPerlもRubyもMVCフレームワークって
ほぼ1択なのにPHPは乱立してんの?
決定版が出てこない時点で終わってるな。
そんなことより、JavaもPerlもRubyもMVCフレームワークって
ほぼ1択なのにPHPは乱立してんの?
決定版が出てこない時点で終わってるな。
>>816
ある意味、PHPの敷居の低さかな。もともとWEBフレームワークみたいなものだから、
基本機能(CookieだとかHTTP周りとか、出力とかサーバへのデプロイとかもろもろ)を
スキップしていきなり構築出来るし、書いてみれば結構できちゃった、みたいな感じじゃね?
ある意味、PHPの敷居の低さかな。もともとWEBフレームワークみたいなものだから、
基本機能(CookieだとかHTTP周りとか、出力とかサーバへのデプロイとかもろもろ)を
スキップしていきなり構築出来るし、書いてみれば結構できちゃった、みたいな感じじゃね?
>>816
DIコンテナ何使ってる?
DIコンテナ何使ってる?
・DIコンテナって何?その用途・利点は?
・DIコンテナとsingletonの関連は?
・DIコンテナを使ったPHPフレームワークってある?その得意とするケースは?
初心者が、ここでこれくらい聞いてもいい?
・DIコンテナとsingletonの関連は?
・DIコンテナを使ったPHPフレームワークってある?その得意とするケースは?
初心者が、ここでこれくらい聞いてもいい?
>>819
ググれカス
ググれカス
>>823
やさしいJAVA
やさしいJAVA
>>824
いやいやw それデザパタとかないしw
まずは、DIコンテナが有効なのかどうか、その辺の話が出来ないのか?
ググっても古い情報しかないのは、もう廃れたのか、常識的に使われている
からなのか、どうなんだ
基本的に、手法がXML等の外部設定ファイルだろ?PHPに馴染むとは思えん。
俺を含めて、本格的に使ったことの無い奴が多いんだろうとは思うが。
いやいやw それデザパタとかないしw
まずは、DIコンテナが有効なのかどうか、その辺の話が出来ないのか?
ググっても古い情報しかないのは、もう廃れたのか、常識的に使われている
からなのか、どうなんだ
基本的に、手法がXML等の外部設定ファイルだろ?PHPに馴染むとは思えん。
俺を含めて、本格的に使ったことの無い奴が多いんだろうとは思うが。
PHPになじむかどうか以前に、
XMLなどの外部設定ファイルで設定するのって
大変だよ。
XMLなどの外部設定ファイルで設定するのって
大変だよ。
>>816
Javaのフレームワークがほぼ一択だと思ってるなら、無知すぎ。
Rubyは開発者が少なすぎの過疎言語だったから。
Perlも廃れた言語だから。
Pythonも多い。
PHPも、乱立っても紹介が多いだけで、実際使われてるフレームワークは
限られてる
Javaのフレームワークがほぼ一択だと思ってるなら、無知すぎ。
Rubyは開発者が少なすぎの過疎言語だったから。
Perlも廃れた言語だから。
Pythonも多い。
PHPも、乱立っても紹介が多いだけで、実際使われてるフレームワークは
限られてる
PHPって、まともなクラスライブラリがないから、それぞれ独自でフレームワークを実装し出すんだよ。
DIコンテナ=XMLの設定ファイル使う、じゃないでしょ。
yamlの奴とかもあるよ
yamlの奴とかもあるよ
ZendFrameworkに関しては、使える部分はあるんだけどね。
ともすればRouterやControllerあたりに目を奪われて、ライブラリ
部分の評価がおざなりになってしまったりする。
例えばCIに持ち込むとかすればいいし、双方ともそれが簡単に
出来るように作ってはあるんだけど、その時に何というか気持ち悪い
何故かと考えたが、クラス・変数・関数・ファイル名等の命名規則が、
分散しすぎているせいもあるなあというのが最近の実感。
異質な気持ち悪さがあるのは、きっと命名規則等も分散して
ともすればRouterやControllerあたりに目を奪われて、ライブラリ
部分の評価がおざなりになってしまったりする。
例えばCIに持ち込むとかすればいいし、双方ともそれが簡単に
出来るように作ってはあるんだけど、その時に何というか気持ち悪い
何故かと考えたが、クラス・変数・関数・ファイル名等の命名規則が、
分散しすぎているせいもあるなあというのが最近の実感。
異質な気持ち悪さがあるのは、きっと命名規則等も分散して
>>832
最後の行はゴミw 消したい
最後の行はゴミw 消したい
3と4と5で文法や仕様が大きく変わって、全部に対応するライブラリやフレームワークを構築するのが困難。
3とかあり得ないし、4に対応するものを新しく書く必要もない、と思うけどね
4はそれこそ、今までの遺産でがんばれば良いじゃない
4はそれこそ、今までの遺産でがんばれば良いじゃない
幕の内弁当のようにいろいろな具が詰まったフレームワークを、いったんバラバラの具に分解して
自由に組み合わせて食べられるとウマー?
時間があったら、フレームワークのコードを読んでみるか…。
自由に組み合わせて食べられるとウマー?
時間があったら、フレームワークのコードを読んでみるか…。
Perl5.0が1994年、Perl5.6でさえ2000年にリリースされてる。これが圧倒的なボリュームのCPANがあるPerlと、Pearが尻すぼみに終わり、Zendが始まりもしなかったPHPの違い。
>>838
別にそんなに難しくないし、メリットはあるとおもう。例えばZend_Pdfとか持って来たり。
lib/Zend 以下をごっそりvendor/とかにコピーしてinclude_pathを通すのが一番楽だけど、
依存に注意しながら必要なものだけを持ってくるのでも、それほど難しくない。
例外が2系統投げられるので、その辺が気になるなら対処して。
CIの場合はそれほどコアに密着したライブラリって無いので、例えばSessionとかDbとか
も、好きなものを使おうと思えば使える。Registryとか、なんでCIにないのかなって思ったし。
# そうすると、CIの機能をいくらか無視することにもなるかもだけど、それで幸せになれるならおk
で、問題はそれをやると、ソースがカオスになると。メソッドの命名規則なんか、CIはZFの
対局にいると言っても過言ではないとおもうし。
# クラスにprefixつけない、CamelCase嫌い、クラスファイル名でもCamelCase式と
# lowercase-underscore式の、独自ルールによる混在、もろもろ・・・
そこに上乗せする俺のソースはどっちで書けばすっきりするんだああ、となるよ。
別にそんなに難しくないし、メリットはあるとおもう。例えばZend_Pdfとか持って来たり。
lib/Zend 以下をごっそりvendor/とかにコピーしてinclude_pathを通すのが一番楽だけど、
依存に注意しながら必要なものだけを持ってくるのでも、それほど難しくない。
例外が2系統投げられるので、その辺が気になるなら対処して。
CIの場合はそれほどコアに密着したライブラリって無いので、例えばSessionとかDbとか
も、好きなものを使おうと思えば使える。Registryとか、なんでCIにないのかなって思ったし。
# そうすると、CIの機能をいくらか無視することにもなるかもだけど、それで幸せになれるならおk
で、問題はそれをやると、ソースがカオスになると。メソッドの命名規則なんか、CIはZFの
対局にいると言っても過言ではないとおもうし。
# クラスにprefixつけない、CamelCase嫌い、クラスファイル名でもCamelCase式と
# lowercase-underscore式の、独自ルールによる混在、もろもろ・・・
そこに上乗せする俺のソースはどっちで書けばすっきりするんだああ、となるよ。
DIの設定がXML地獄てSpring2.5とか使ったことないのか?
ここのアホ住人は。
今は、XMLにはほとんど記述せずにアノテーションでお手軽に記述できるんだよ。
ここのアホ住人は。
今は、XMLにはほとんど記述せずにアノテーションでお手軽に記述できるんだよ。
>>842
そうやって、どんどんJava風を進めて行くわけですね。>アノテーション
出来れば、そのメリット・デメリットを絡めたレスが欲しいなぁ。
なんでJavaで一般的なものがPHPで一般的でないか、それを、
「遅れている」等としか捉えられないのなら、少しおかしいと思っていいよw
そうやって、どんどんJava風を進めて行くわけですね。>アノテーション
出来れば、そのメリット・デメリットを絡めたレスが欲しいなぁ。
なんでJavaで一般的なものがPHPで一般的でないか、それを、
「遅れている」等としか捉えられないのなら、少しおかしいと思っていいよw
>>843
842は設定ファイル云々に突っ込んでるだけでしょ
842は設定ファイル云々に突っ込んでるだけでしょ
本当に、PHPでDIとかDaoとか、「これはいい!」と思って使ってる人っているの?
そもそもPHPやRubyのような動的言語には、DIみたいな回りくどい書き方は不要。
静的言語の融通の効かなさを誤魔化すために生み出されたものだし。
静的言語の融通の効かなさを誤魔化すために生み出されたものだし。
自分のプログラム技術が上手なことに気付いた
アルゴリズム能力は知識で補えない、もって生まれた能力
アルゴリズム能力は知識で補えない、もって生まれた能力
>>849
オリジナルの式を組めるなら凄いな
オリジナルの式を組めるなら凄いな
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- 【PHP】フレームワークについて語るスレ10【総合】 (1001) - [100%] - 2008/12/23 16:48 ○
- 【PHP】フレームワークについて語るスレ12【総合】 (994) - [98%] - 2009/3/19 13:46 ○
- 【PHP】フレームワークについて語るスレ13【総合】 (985) - [98%] - 2009/9/23 3:04 ○
- 【PHP】フレームワーク CakePHP 3ホール目【本命】 (1001) - [59%] - 2008/6/19 7:19 ○
- 【PHP】セッションについて語ろう!【PHP】 (829) - [58%] - 2018/6/27 23:16 ○
- 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 (933) - [57%] - 2009/8/19 2:06 ○
- 【PHP】フレームワーク CakePHP 7ホール目【v1.2】 (1001) - [57%] - 2010/3/18 1:18 ○
- 【PHP】フレームワーク CakePHP 4ホール目【v1.2】 (1001) - [57%] - 2008/12/19 21:06 ○
- 【PHP】フレームワーク CakePHP 5ホール目【v1.2】 (985) - [57%] - 2009/3/7 4:53 ☆
トップメニューへ / →のくす牧場書庫について