元スレ【PHP】PHPフレームワーク総合スレ15
php覧 / PC版 /みんなの評価 : △
1 = :
PHPのフレームワークに関する話題用のスレッド
●国外産●
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/
3 = :
頭の悪い言い争いする前にスレ立てとけ
既に実装されてしまった内容なんだから、使う使わないは案件なりで決めれ
不満があるなら開発途上の段階で割り込んでおけよと
仕様みてみたが、バックスラッシュは格好悪いけど、実装自体は普通のnamespaceじゃん
バックスラッシュは格好悪いけど、常に完全修飾名を要求されるとか、使い方知らないだけじゃ
再利用を考えたら、結局namespaceは必要だしな。バックスラッシュは格好悪いけど
ほんとバックスラッシュは格好悪いけどな
わざわざコード書く環境だけ正しいフォントに直すのも面倒だし
4 = :
ハイライト
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 と書くのも同じだし、
このように絶対パスで書かないとクラス衝突は防げない。
となると本来目標にかかげていた、冗長なクラス名の廃止はどうなったのかと・・・
明らかに設計ミスだろ。
5 = :
995 nobodyさん [sage] 2010/12/12(日) 03:52:41 ID:???
?
その目的の為の名前空間でありそれは達成されてるわけだが?
5.2を切り捨てて対応してるフレームワークなりなんなりみてみろよ
綺麗に切り分けられクラス名は短くなってる
997 nobodyさん [sage] 2010/12/12(日) 04:00:46 ID:???
>>995
されてねーよ。
定義側は省略形で書けるかもしれんが、
実際に使用する側はフルパスで書かないといかんだろ。
打開策として use で別名エイリアスが付けられるが、
エイリアスが他クラスと被る可能性があるという本末転倒っぷり。
それならエイリアスなんか作らず
$className = 'Hoge\Moge\Class';
$class = new $className;
と書く方が利口。
どちらにせよ、当初の目的は果たせていない。
7 = :
既に有名なフレームワークはそうしてる
ぶっちゃけ今更感が半端無い
3年前の話題だろ…
9 = :
ZendFramework2 も namespace採用されるよ。
ただsymfony2もだけど、PEAR命名規約のアンダースコアをバックスラッシュに変えただけ感はある。
前スレ>>1000
他の言語と比較した上での発言だ。
>エイリアスが他クラスとかぶる可能性とか何を言ってるんだと言わざるを得ない
namespace project;
use lib\ClassName as ClassName;
という記述があった場合に ClassName が project\ClassName と衝突する可能性があるから、
基本的には絶対パスでの記述になる。
コンパイル時に走査してくるような言語とは使い勝手が全く違う。
>jsですらjqueryやらprototypeやら他のライブラリつかって名前空間を表現しようって風潮なのにどんだけ取り残されてるんだよ
それらは疑似名前空間で、実装ではなく規約の話だ。
PHPのアンダースコア区切りのクラス名と同類だよ。
namespaceの実装が望まれたECMA4が廃案になったのは知ってるかい?w
10 = :
何で :: とかにしなかったんだろう。\だと末尾に「.php」が抜けてるような気持ち悪さが…
フレームワーク関係ないね、すまそ
11 = :
サーバOSがWindowsとかだとますます混乱しそうだよね。
>>10
:: はクラス内のスタティックメソッドやプロパティやクラス内定数の参照の時に既に使ってるし、そっちとかぶるからじゃない?
12 = :
メソッドだろうがプロパティだろうが名前空間だろうが
全部ピリオドにすればよかったのに
13 = :
文字列連結に使ってる時点でもうダメだろ。
14 = :
もう面倒だからサーバサイドJavaScriptに移行しようず
15 = :
jsは言語が汚れすぎてる
オライリーですら擁護しきれずに綺麗な部分だけ使おうっていう本を出してるぐらいにねw
17 = :
まぁすでに実装されてしまったものだし諦めるしか
18 = :
言語仕様もエンジンの実装もドロドロに汚れちゃってるからなPHPは。
namespaceが中途半端な機能で、
区切り文字がバックスラッシュになったのも、
fainallyが実装されないのも、
ZendEngine2への実装が困難だからだよ。
19 = :
なんでfinally実装できないの?
20 = :
Lithiumのその後を知ってる人いる?
そろそろリリースかな
21 = :
>>19
単純に技術的な問題。
良い実装案が出れば、実装したいと開発者は言っている。
22 = :
へ?構築するスキルがないってだけ?ZendEngineの問題でなく?
24 = :
だからそれどういう問題?
25 = :
>>24
だから、技術的な問題だよ。
興味あるならPHP自体のソースコードを読めばいいよ。
26 :
そういう理由じゃないだろ
http://bugs.php.net/bug.php?id=32100
28 = :
finally、無いよりもあったほうがいい。それは間違いない。finallyの導入にどれくらい開発コストがかかるかは知らないが。
29 = :
スクリプト言語にfinallyねぇ
中々面白いギャグだ
マジだったらプログラムを一からやり直して欲しいレベル
30 = :
>>26-27
で、どういう理由なん?
33 = :
>>25
ワロス 知ったか乙w
34 = :
英語の読めない俺の為に簡単に訳してくれ
35 = :
どこが分からんの?
36 = :
>>35
http://bugs.php.net/bug.php?id=32100
return文との兼ね合いで、構文が複雑になるから実装しなかったって事?
それとも技術的な問題?
37 = :
全部訳せとな?
38 = :
>>37
散々議論されたってのは読み取れたけど、
最終的に何故実装されなかったのかが読み取れませんでした先生。
39 = :
声の大きな人に限って結論をぼかすよなw
40 = :
26は最初か2番目に出てくるコードで代用できると
27はリソースの開放は利用側じゃなくて利用されるデストラクタで実装すべきという主張。C だが
41 = :
http://gihyo.jp/news/interview/2010/rasmus?page=3
「finallyも,もしよい実装があれば追加されるかも知れません。」
PHP構文的に排除したのでは無く、実装が困難だから実装されていないだけだ
>>26-27
お前英語読めないだろ?
せめてメーリングリストのログ持って来いよ
42 = :
C++にfinallyが無いのと同じ理由。
43 = :
>>42
ワロス、ギブミーソース
44 = :
よい実装があれば可能=技術的に困難、なのか?
45 = :
>>41
おまえその日本語読めてない。
空気も英語も読めてないのにメーリングリスト読めないだろ
46 = :
>>45
空気読めてないのはお前だろw 顔赤くしてないで該当メーリングリストのソースを示せよ。
大垣:
実装して欲しい,実装しておくべき機能は思い浮かびますか?
Rasmus:
オブジェクト指向プログラミングのサポートについては実装されるでしょう
traitsにはよい実装があるのでPHP 5.4に含まれることになるでしょう。
finallyも,もしよい実装があれば追加されるかも知れません。
どう読んでも、実装の問題。
47 = :
よい実装ってどういうこと?
48 = :
プライオリティが低いってだけじゃないの?
49 = :
>>47
そのままの意味だよ。
実装出来なくは無いんだろうけど、影響範囲の大きさや、ロジックの改修規模がでかくて難しい。
>>48
どこにプライオリティの話が書いてあるんだw
50 = :
>>49
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の方が実装難しいと書いてあるんだが?
みんなの評価 : △
類似してるかもしれないスレッド
- 【PHP】PHPフレームワーク総合スレ14 (1001) - [97%] - 2010/12/11 10:32
- 【PHP】フレームワークPharonスレ (306) - [75%] - 2022/10/10 20:00
- 【PHP】フレームワークMapleに舌鼓 (470) - [62%] - 2017/12/31 9:31
- 【PHP】フレームワーク Akelos (129) - [59%] - 2019/5/9 7:46
- 2ch有志がPHPフレームワークを作るスレ (81) - [55%] - 2019/5/9 7:46
- 【PHP】Laravel【フレームワーク】 Part.11 (870) - [53%] - 2022/8/28 15:45
- 【PHP】Laravel【フレームワーク】 Part.12 (314) - [53%] - 2023/1/30 18:45
- 【PHP】Laravel【フレームワーク】 Part.10 (446) - [53%] - 2022/6/6 19:30
トップメニューへ / →のくす牧場書庫について