【PHP】PHPフレームワーク総合スレ15
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/12/12(日) 10:47: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
ttp://www.yiiframework.com/
●国産
ちいたん
ttp://php.cheetan.net/
Ethna
ttp://ethna.jp/
guesswork
ttp://classic.guesswork.jp/
maple
ttp://kunit.jp/maple/
●前スレ
【PHP】PHPフレームワーク総合スレ14
http://hibari.2ch.net/test/read.cgi/php/1253912143/
0002nobodyさん
2010/12/12(日) 10:47:46ID:???14http://hibari.2ch.net/test/read.cgi/php/1253912143/
13http://hibari.2ch.net/test/read.cgi/php/1237825268/
12http://hibari.2ch.net/test/read.cgi/php/1229960175/
11http://hibari.2ch.net/test/read.cgi/php/1219581817/
10http://hibari.2ch.net/test/read.cgi/php/1202521438/
. 9http://hibari.2ch.net/test/read.cgi/php/1197383840/
. 8http://hibari.2ch.net/test/read.cgi/php/1192604501/
. 7http://hibari.2ch.net/test/read.cgi/php/1181350116/
. 6http://hibari.2ch.net/test/read.cgi/php/1171896620/
. 5http://pc10.2ch.net/test/read.cgi/php/1159579507/
. 4http://pc8.2ch.net/test/read.cgi/php/1151706907/
. 3http://pc8.2ch.net/test/read.cgi/php/1145971945/
. 2http://pc8.2ch.net/test/read.cgi/php/1135847024/
. 1:http://pc8.2ch.net/test/read.cgi/php/1123608068/
0003nobodyさん
2010/12/12(日) 11:19:10ID:???既に実装されてしまった内容なんだから、使う使わないは案件なりで決めれ
不満があるなら開発途上の段階で割り込んでおけよと
仕様みてみたが、バックスラッシュは格好悪いけど、実装自体は普通のnamespaceじゃん
バックスラッシュは格好悪いけど、常に完全修飾名を要求されるとか、使い方知らないだけじゃ
再利用を考えたら、結局namespaceは必要だしな。バックスラッシュは格好悪いけど
ほんとバックスラッシュは格好悪いけどな
わざわざコード書く環境だけ正しいフォントに直すのも面倒だし
0004nobodyさん
2010/12/12(日) 11:57:31ID:???992 nobodyさん [sage] 2010/12/12(日) 03:24:51 ID:???
PHPの名前空間は、
http://www.php.net/manual/ja/language.namespaces.rationale.php
Prefix付の長いクラス名を何とかする為のアプローチに見えるな。
実際には、使用時に絶対パスで記述しないとクラス名の衝突が起こる可能性があるので、
何も解決出来ていない(結局絶対パスで記述する必要がある)
情弱は使えばいいよ。
993 nobodyさん[sage] 2010/12/12(日) 03:46:35 ID:???
なんでこいつは名前空間とパスを同一視してるの?
こんなんだからPHP使いはレベルが低いとか言われるんだよ…
994 nobodyさん [sage] 2010/12/12(日) 03:49:53 ID:???
>>993
パス=クラス名への絶対修飾子って意味ね。
Zend_Hoge_Moge と書くのも \Zned\Hoge\Moge と書くのも同じだし、
このように絶対パスで書かないとクラス衝突は防げない。
となると本来目標にかかげていた、冗長なクラス名の廃止はどうなったのかと・・・
明らかに設計ミスだろ。
0005nobodyさん
2010/12/12(日) 11:57:47ID:????
その目的の為の名前空間でありそれは達成されてるわけだが?
5.2を切り捨てて対応してるフレームワークなりなんなりみてみろよ
綺麗に切り分けられクラス名は短くなってる
997 nobodyさん [sage] 2010/12/12(日) 04:00:46 ID:???
>>995
されてねーよ。
定義側は省略形で書けるかもしれんが、
実際に使用する側はフルパスで書かないといかんだろ。
打開策として use で別名エイリアスが付けられるが、
エイリアスが他クラスと被る可能性があるという本末転倒っぷり。
それならエイリアスなんか作らず
$className = 'Hoge\Moge\Class';
$class = new $className;
と書く方が利口。
どちらにせよ、当初の目的は果たせていない。
0006nobodyさん
2010/12/12(日) 12:11:41ID:???namespace + 新しい規約で
なんとかしろや。
0007nobodyさん
2010/12/12(日) 21:55:13ID:???ぶっちゃけ今更感が半端無い
3年前の話題だろ…
0008nobodyさん
2010/12/13(月) 04:12:37ID:???symfony2.0
0009nobodyさん
2010/12/13(月) 19:03:50ID:???ただsymfony2もだけど、PEAR命名規約のアンダースコアをバックスラッシュに変えただけ感はある。
前スレ>>1000
他の言語と比較した上での発言だ。
>エイリアスが他クラスとかぶる可能性とか何を言ってるんだと言わざるを得ない
namespace project;
use lib\ClassName as ClassName;
という記述があった場合に ClassName が project\ClassName と衝突する可能性があるから、
基本的には絶対パスでの記述になる。
コンパイル時に走査してくるような言語とは使い勝手が全く違う。
>jsですらjqueryやらprototypeやら他のライブラリつかって名前空間を表現しようって風潮なのにどんだけ取り残されてるんだよ
それらは疑似名前空間で、実装ではなく規約の話だ。
PHPのアンダースコア区切りのクラス名と同類だよ。
namespaceの実装が望まれたECMA4が廃案になったのは知ってるかい?w
0010nobodyさん
2010/12/13(月) 19:11:09ID:???フレームワーク関係ないね、すまそ
0011nobodyさん
2010/12/13(月) 19:37:03ID:???>>10
:: はクラス内のスタティックメソッドやプロパティやクラス内定数の参照の時に既に使ってるし、そっちとかぶるからじゃない?
0012nobodyさん
2010/12/13(月) 19:57:00ID:???全部ピリオドにすればよかったのに
0013nobodyさん
2010/12/13(月) 22:06:38ID:???0014nobodyさん
2010/12/13(月) 23:31:53ID:???0015nobodyさん
2010/12/13(月) 23:54:10ID:???オライリーですら擁護しきれずに綺麗な部分だけ使おうっていう本を出してるぐらいにねw
0017nobodyさん
2010/12/14(火) 01:58:34ID:???0018nobodyさん
2010/12/14(火) 03:45:08ID:???namespaceが中途半端な機能で、
区切り文字がバックスラッシュになったのも、
fainallyが実装されないのも、
ZendEngine2への実装が困難だからだよ。
0019nobodyさん
2010/12/14(火) 07:54:18ID:???0020nobodyさん
2010/12/14(火) 16:44:36ID:???そろそろリリースかな
0022nobodyさん
2010/12/15(水) 01:19:20ID:???0024nobodyさん
2010/12/15(水) 02:14:25ID:???0026nobodyさん
2010/12/15(水) 06:24:51ID:mlC32vduhttp://bugs.php.net/bug.php?id=32100
0027nobodyさん
2010/12/15(水) 06:35:05ID:mlC32vduWhy doesn't C++ provide a "finally" construct?
http://www2.research.att.com/~bs/bs_faq2.html#finally
0028nobodyさん
2010/12/15(水) 08:08:22ID:???0029nobodyさん
2010/12/15(水) 08:15:57ID:???中々面白いギャグだ
マジだったらプログラムを一からやり直して欲しいレベル
0031nobodyさん
2010/12/15(水) 20:09:51ID:???0032nobodyさん
2010/12/15(水) 21:17:34ID:???0034nobodyさん
2010/12/15(水) 22:28:49ID:???0035nobodyさん
2010/12/15(水) 22:29:38ID:???0036nobodyさん
2010/12/15(水) 22:39:21ID:???http://bugs.php.net/bug.php?id=32100
return文との兼ね合いで、構文が複雑になるから実装しなかったって事?
それとも技術的な問題?
0037nobodyさん
2010/12/15(水) 22:40:05ID:???0039nobodyさん
2010/12/16(木) 00:33:53ID:???0040nobodyさん
2010/12/16(木) 01:20:05ID:???27はリソースの開放は利用側じゃなくて利用されるデストラクタで実装すべきという主張。C だが
0041nobodyさん
2010/12/16(木) 01:54:17ID:???「finallyも,もしよい実装があれば追加されるかも知れません。」
PHP構文的に排除したのでは無く、実装が困難だから実装されていないだけだ
>>26-27
お前英語読めないだろ?
せめてメーリングリストのログ持って来いよ
0042nobodyさん
2010/12/16(木) 02:32:06ID:???0044nobodyさん
2010/12/16(木) 07:26:50ID:???0046nobodyさん
2010/12/16(木) 11:55:51ID:???空気読めてないのはお前だろw 顔赤くしてないで該当メーリングリストのソースを示せよ。
大垣:
実装して欲しい,実装しておくべき機能は思い浮かびますか?
Rasmus:
オブジェクト指向プログラミングのサポートについては実装されるでしょう
traitsにはよい実装があるのでPHP 5.4に含まれることになるでしょう。
finallyも,もしよい実装があれば追加されるかも知れません。
どう読んでも、実装の問題。
0047nobodyさん
2010/12/16(木) 20:01:14ID:???0048nobodyさん
2010/12/16(木) 20:23:29ID:???0049nobodyさん
2010/12/17(金) 00:29:50ID:???そのままの意味だよ。
実装出来なくは無いんだろうけど、影響範囲の大きさや、ロジックの改修規模がでかくて難しい。
>>48
どこにプライオリティの話が書いてあるんだw
0050nobodyさん
2010/12/17(金) 00:33:18ID:???However namespaces are much harder to implement yet I think finally is relatively straightforward since we can already emulate it using try/catch, but with the quirks.
namespaceの方が実装難しいと書いてあるんだが?
0052nobodyさん
2010/12/17(金) 01:55:07ID:???そもそもfinallyの代替になる方法、そんなに面倒?
0053nobodyさん
2010/12/17(金) 04:00:30ID:???そもそもnamespaceの代替になる方法、そんなに面倒?
0055nobodyさん
2010/12/17(金) 09:59:22ID:???が、そんなローカルルールに頼るよりも言語機能を使った方が良い。
PHPでPearが盛り上がらない理由の1つは、PHPにネームスペースやパッケージがなかったからだと思う。
0056nobodyさん
2010/12/17(金) 11:09:01ID:???0057nobodyさん
2010/12/17(金) 12:19:50ID:???PEAR::DBとSmartyくらいか。どっちもPHP4全盛時で、今じゃ大して使われてないな。
後は、日本だけでNet_UserAgent_Mobileくらいか。
0058nobodyさん
2010/12/17(金) 12:33:27ID:???・パッケージとディレクトリ構造は一致
・クラスファイル名はクラス名+.php
・パッケージ名はドメイン名+プロジェクト名を接頭とし、Camelcaseで記述する
・クラス名はCamelcaseで記述する
のような規約があり、かつuse文でオート(Lazy)ロードに対応
くらいして欲しかった。
自分で実装出来るが、
標準でuse構文が上記に対応していたら、標準化が進むのになぁと思ったりした
0059nobodyさん
2010/12/17(金) 13:57:30ID:???0060nobodyさん
2010/12/18(土) 10:24:28ID:???ネームスペースがなかったり
クラスがなかったり、
例外がなかったり
0062nobodyさん
2010/12/18(土) 13:01:19ID:???0064nobodyさん
2010/12/19(日) 11:24:03ID:???0065nobodyさん
2010/12/19(日) 12:10:21ID:???0066nobodyさん
2010/12/20(月) 04:22:59ID:???やはり色々考えられているPerlの方が上だな。
0067nobodyさん
2010/12/23(木) 14:23:44ID:???自社のフレームワーク開発すべき?
0068nobodyさん
2010/12/23(木) 15:24:40ID:???0069nobodyさん
2010/12/23(木) 15:41:39ID:???俺もそう思う。バグだらけのFWを、開発した奴はスキルアップになったかもしれんが、
それを使わされる方はマジたまらんわー。
他の人の意見も求む!
0070nobodyさん
2010/12/23(木) 15:45:19ID:???0071nobodyさん
2010/12/23(木) 16:38:01ID:???バージョンアップしながら使ってくほうが後々考えると有益
ちょっとしたことのためにFWいじくって対応とかアホなことすると、
大抵はあとで酷いことになる
0072nobodyさん
2010/12/23(木) 20:37:52ID:???一からフレームワークを作るのは、勉強目的以外ではあまりメリット無いかな・・・
0073nobodyさん
2010/12/25(土) 05:58:05ID:???>ちょっとしたことのためにFWいじくって対応とかアホなことすると、
あるある。ありすぎて困る。
「それはフレームワークじゃねぇ、ただのライブラリだ!」
と言っても、社内のPHP屋は理解出来ない。
PHPでOSSのフレームワーク使ってない(使い方わからない)時点で、
その程度だわな・・・
■ このスレッドは過去ログ倉庫に格納されています