のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,331,454人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】PHPフレームワーク総合スレ14

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - mayaa + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    951 : 914 - 2010/12/10(金) 00:02:32 ID:??? (+15,+25,+1)
    >>950
    すんませんでした。
    952 : nobodyさん - 2010/12/10(金) 00:04:57 ID:??? (+27,+29,-13)
    いんたーなる
    ねーむすぺーすのないPHPとしては、全部が同じ場所にいるようなもんだから
    ある意味あってるという見方もできるな
    953 : nobodyさん - 2010/12/10(金) 01:00:35 ID:??? (+10,+14,-16)
    じゃあどんなnamespaceだったら良かったと思うのよ?
    954 : nobodyさん - 2010/12/10(金) 03:40:50 ID:??? (-20,-30,-226)
    >>953
    言語仕様的にネームスペースは不要だったかと。
    接頭子でネームスペースの役割は担えてるし、JavaScript等も同じような方法でnamespaceを実装してるし・・・
    ネイティブにnamespaceを実装するとコンパイラとの相性は良いのかもしれんけどね、PHPでは不要だよね。

    また Hoge_Moge_ClassName と書いていたクラスが \Hoge\Moge\ClassName と名称変更されるのだが、
    バックスラッシュを区切り文字に使ってしまうデメリットは結構あると思う。

    同ネームスペース内なら、ClassNameを直接参照出来るというメリットはあるが、
    そんな場面は滅多に無いし use構文で別名付けちゃうと、今度は他のクラス名と被る可能性が出てくるので
    結果的に、フルパスでクラス名を記述する事になる。

    となると、何の為に 5.2以下を切り捨ててまでnamespaceを使うのか?という事になる。
    955 : nobodyさん - 2010/12/10(金) 10:52:32 ID:??? (-12,-3,-2)
    >>945
    お前の言う普通はマイナーすぎ
    普通は省略したらpublic
    956 : nobodyさん - 2010/12/10(金) 14:10:24 ID:??? (+27,+29,-54)
    逆に考えるんだ
    PHP5.3を普通と考えて
    他の言語環境を「普通」とどれだけかけ離れているか
    語るくらいの図太さと厚顔さがPHPerには必要だ
    958 : nobodyさん - 2010/12/11(土) 09:51:21 ID:??? (+25,+29,-20)
    >>954
    なんで今まで散々Perlをパクりまくったのに
    ネームスペースはパクらかなったのかと。
    959 : nobodyさん - 2010/12/11(土) 13:28:54 ID:??? (+29,+29,-86)
    まあ、PHPの場合、ほとんどウェブ専用で、ウェブアプリケーションフレームワークはフルスタックのばかりだから、外部ライブラリを読み込む機会がないというのはあるかも。
    でも、ネームスペースが不要とかって事はありえない。
    JSなんかはネームスペースかないせいで$とかぶつかりまくってる。
    960 : nobodyさん - 2010/12/11(土) 18:39:16 ID:??? (+31,+30,-62)
    コードの再利用、ライブラリをつかってこねくり回すことが主体になってきた昨今だと
    ネームスペースの重要性は切り捨てれるようなもんじゃないからな
    小規模なものなら問題ないけど、どうしてもつかいたいライブラリ同士の
    名前がぶつかったりした日にゃ、めんどくさいことになる
    961 : nobodyさん - 2010/12/11(土) 21:18:48 ID:??? (-20,-28,-66)
    >>959
    JavasSctiprtはネームスペースあるだろ。
    ネームスペースという機能自体はないが、
    規約レベルではるがネームスペースはある。
    そしてそれはPHPのネームスペースより余程エレガント。
    962 : nobodyさん - 2010/12/11(土) 22:14:18 ID:??? (-16,-29,-184)
    >>959
    >>960
    ネームスペースという概念は必須だと思うが、
    それはPEAR規約で既に実現されている。

    バックスラッシュで無理矢理ネイティブ実装されたnamespaceを使うメリットは薄いって話。
    一度PHP5.3のnamespaceを使ってごらん、PHP5.2を切り捨ててまで使いたいとは思えないだろうから。
    963 : nobodyさん - 2010/12/11(土) 22:49:57 ID:??? (+36,+29,-102)
    >>962
    でもPHPの構文として用意されたネームスペースを使わずに
    規約として用意されたネームスペースもどきを使うようじゃ駄目だ。
    今後スタンダードなものとして使うことはできんな。
    symfonyのようなPHPを代表するようなFWなら尚更だ。
    964 : nobodyさん - 2010/12/11(土) 23:16:10 ID:??? (+27,+29,-20)
    PHP生みの親
    「日本ではバックスラッシュが\マークなんだってなwww」
    965 : nobodyさん - 2010/12/11(土) 23:17:35 ID:??? (+43,+29,-221)
    >>963
    頭硬すぎ。
    その、「規約として用意されたネームスペースもどきを使うようじゃ駄目」な理由を述べてくれよ。
    単に新しいもの=素晴らしいとでも思ってるの?

    いくら構文として用意されていても、
    規約を守らずにnamespaceを使ってしまっては意味が無いし、
    use文によるエイリアスとか、潜在的なバグが増える事も想定される。

    ネームスペースの概念は必須だが、PHP5.3のnamespace実装はお粗末すぎる。
    5.2以下(既存FWユーザ)を切り捨ててまで移行するモノでは無いかな。
    966 : nobodyさん - 2010/12/11(土) 23:42:09 ID:??? (+25,+27,-4)
    どうなったら移行するの?
    967 : nobodyさん - 2010/12/11(土) 23:47:56 ID:??? (+36,+29,-4)
    >>966
    たらればの話はいい。現状、メリットの無いモノに移行する必要は無い。
    968 : nobodyさん - 2010/12/12(日) 00:39:02 ID:??? (+37,+29,-127)
    >>965
    機能としてネームスペースが用意されているのに
    規約としてのネームスペースを使うということの気持ち悪さ。
    お前は保守的なんだよ。

    ところでなんでお前は規約としてのネームスペースにこだわるの?
    機能として5.3からネームスペースが正式に実装されたんだから
    黙って使えよ能無し
    969 : nobodyさん - 2010/12/12(日) 00:40:07 ID:??? (+31,+30,-99)
    別にそこで止まりたい人はそれでいいんじゃね?
    使った事のあるフレームワークはみな移行してるんで俺は移行するだけ
    置いていかれる人の事なんてどうでも良いよ
    いつの世もそう言うのんびり屋な人達はいるしどうぞご勝手にって感じだわな
    言い訳考えるぐらいならさっさと過去の資産の為のコンバータ書いた方がマシ
    俺はね
    970 : nobodyさん - 2010/12/12(日) 01:27:01 ID:??? (+31,+29,-3)
    >>967
    どんな仕組みだとメリットあるの?
    971 : nobodyさん - 2010/12/12(日) 01:39:28 ID:??? (-7,-9,-17)
    >>964
    バックスラッシュで表示されてるけど??
    自分の環境が問題
    972 : nobodyさん - 2010/12/12(日) 01:46:05 ID:??? (+19,+26,-13)
    ここはネームスペースのスレですか?
    973 : nobodyさん - 2010/12/12(日) 01:53:21 ID:??? (-21,-29,+0)
    >>968
    >>969
    ネームスペースなんて実装じゃなく規約の問題。
    ネイティブにnamespace構文が存在したとしても、命名規約が統制されなければ意味は無い。
    (これはuse構文によりさらにややこしくなってるし)

    また、保守的になってるつもりは無いよ。
    メインはPHP5.3開発に移行していて、無名関数とか遅延バインディングとか便利だと思ってるし、
    5.4のGC含めて久しぶりにPHPコードを書きまくってる。

    ただし、namespaceだけは判断が微妙で、
    例えば5.2以下で実装出来るロジックでも、
    namespace配下に置くことで動作しなくなるというデメリットがきつい。


    Redhatを代表とするサーバ系OSには今だPHP5.3はバンドルされてないし、
    完全に普及するには年単位の時間がかかると思われ。
    975 : nobodyさん - 2010/12/12(日) 01:59:48 ID:??? (+1,-5,-165)
    >>970
    言語としてネームスペースの推奨規約が存在する(ActionScript3とか)は、
    ディレクトリやファイル名を含めて綺麗に纏まるから、
    擬似的に実装するより遙かに便利だとは思う。

    PHP5.3のネームスペースは肝心の規約が抜けているので、
    「単にアンダースコア区切りだったものをバックスラッシュに変えました。」
    程度の効力しかない。
    976 : nobodyさん - 2010/12/12(日) 02:02:49 ID:??? (+38,+30,-112)
    言語仕様以上の規約があるのか?
    あんたの言う規約は自分の都合の良い保守的な規約じゃん
    新しいものを追えない技量なら素直にそう言え
    技量がないとは失敗してもバックできないのも含む
    そのレベルならゴチャゴチャ言わずに後から俺等の背中追ってこいよ
    977 : nobodyさん - 2010/12/12(日) 02:11:11 ID:??? (+43,+30,-126)
    >>976
    言語仕様以上の規約は無いかもね。

    しかしPHPはその言語仕様の規約がお粗末だって話だろ。
    「とりあえずnamespace構文作ったから使ってね。クラス名とかディレクトリとかファイル構成は・・・適当でいいよw」
    って状況。

    新しい物が本当に良い物かどうか判断も出来ない、盲目的な君の背中は遠すぎて追えないわ。
    精々未来に生きて失敗事例を沢山こしらえておくれ。
    978 : nobodyさん - 2010/12/12(日) 02:12:40 ID:??? (+33,+29,-21)
    多数の名のある識者が決めた事>>>>>>>>>>分厚く高い壁>>>>>>977の考え
    979 : nobodyさん - 2010/12/12(日) 02:14:02 ID:??? (+27,+29,-25)
    なんだか老害になる瞬間を見た気がする…
    こうやってドンドン取り残されていくんだろうなぁ
    俺も気をつけよ
    980 : nobodyさん - 2010/12/12(日) 02:26:22 ID:??? (+23,+27,-40)
    ・・・PHPのnamespaceの紆余曲折っぷりを知らないのかw 
    ゆとりって怖いな
    981 : nobodyさん - 2010/12/12(日) 02:29:02 ID:??? (+15,+27,-1)
    あはい
    982 : nobodyさん - 2010/12/12(日) 02:30:12 ID:??? (+30,+29,-25)
    5.2系の更新がラストだって言われてる時にネームスペースの話かよ
    未だに対応出来てないとか遅れてるにも程があるだろjk
    983 : nobodyさん - 2010/12/12(日) 02:31:53 ID:??? (+25,+29,-85)
    http://d.hatena.ne.jp/Fivestar/20101114/1289736755

    こういう事だよ。
    結局、名前空間だけ実装されても、使う側の命名規約が統一されないと意味が無いって事だ。

    馬鹿の一つ覚えのように、PHP5.3からはnamespaceとか言うのは辞めような。
    984 : nobodyさん - 2010/12/12(日) 02:32:20 ID:??? (+10,+19,-1)
    今北産業
    985 : nobodyさん - 2010/12/12(日) 02:34:07 ID:??? (+15,+15,-28)
    >>984
    愚者:僕がPHP5.3系に移行するまで待ってよぉ~
    識者:急ぐ必要はないし後から来れば?
    愚者:ふざけんあはwせd
    986 : nobodyさん - 2010/12/12(日) 02:36:25 ID:??? (+32,+29,-21)
    >>982
    頭のいい人ばかりでは無いって事さ。
    世の中言い訳ばかりして手を動かさない奴はどこにでもいるだろう?
    そゆことなのさ。
    987 : nobodyさん - 2010/12/12(日) 02:36:54 ID:??? (-22,-29,-158)
    >>982
    ネームスペースは推奨でも非推奨でも無いよ。
    ネームスペースを使う事で5.2以下との互換性が無くなるとしか名言されていない。

    http://www.php.net/manual/ja/language.namespaces.faq.php#language.namespaces.faq.shouldicare

    なんかプログラマ視点とSE視点が混ざって不毛な論議になってる気がするね。
    プログラマは常に最新と向き合い吸収していく。
    SEはその時々に最適な(枯れた)技術を採用する。
    988 : nobodyさん - 2010/12/12(日) 02:42:44 ID:??? (+33,+29,-40)
    SEだろうが何だろうが最新技術を追えない時点で終わってるだろ
    最新という競争力のあるワードを使えないSEは今の世の中生き残れないわな
    989 : nobodyさん - 2010/12/12(日) 02:44:55 ID:??? (+27,+29,-34)
    そうはいうがビルド出来ないが為に脆弱性を持った環境でサービス動かしてる奴が殆どなんだぜ…
    そう言う輩に最新を追えというのは無理じゃなかろうか…
    990 : nobodyさん - 2010/12/12(日) 03:16:06 ID:??? (+36,+29,-156)
    >>988
    枯れきってバグや脆弱性がほぼ埋まったPHP5.2のコードが稼働している。
    それらのPHP5.3への移行リスクやマネージメントを考えた事があるか?

    「最新という競争力のあるワード」ねーよw
    少なくともPHP5.2とPHP5.3に競争力は無い。

    それでも5.3への対応は必要だと考えているよ。
    でもnamespace化する事と5.3化する事は別レイヤーの話だ。

    今までの規約で5.3へ移行する事も出来るし、過去の資産はそれでいいと思っている。
    991 : nobodyさん - 2010/12/12(日) 03:19:18 ID:??? (+33,+29,-31)
    namespaceが最新技術とか
    追っかけるとか
    そういう言い回しはなんか違うと思うけどなあ
    992 : nobodyさん - 2010/12/12(日) 03:24:51 ID:??? (+32,+29,-67)
    PHPの名前空間は、
    http://www.php.net/manual/ja/language.namespaces.rationale.php
    Prefix付の長いクラス名を何とかする為のアプローチに見えるな。

    実際には、使用時に絶対パスで記述しないとクラス名の衝突が起こる可能性があるので、
    何も解決出来ていない(結局絶対パスで記述する必要がある)

    情弱は使えばいいよ。
    993 : nobodyさん - 2010/12/12(日) 03:46:35 ID:??? (+25,+29,-15)
    なんでこいつは名前空間とパスを同一視してるの?
    こんなんだからPHP使いはレベルが低いとか言われるんだよ…
    994 : nobodyさん - 2010/12/12(日) 03:49:53 ID:??? (-23,-30,-78)
    >>993
    パス=クラス名への絶対修飾子って意味ね。

    Zend_Hoge_Moge と書くのも \Zned\Hoge\Moge と書くのも同じだし、
    このように絶対パスで書かないとクラス衝突は防げない。

    となると本来目標にかかげていた、冗長なクラス名の廃止はどうなったのかと・・・
    明らかに設計ミスだろ。
    995 : nobodyさん - 2010/12/12(日) 03:52:41 ID:??? (+25,+29,-44)

    その目的の為の名前空間でありそれは達成されてるわけだが?
    5.2を切り捨てて対応してるフレームワークなりなんなりみてみろよ
    綺麗に切り分けられクラス名は短くなってる
    996 : nobodyさん - 2010/12/12(日) 03:57:15 ID:??? (+32,+29,-19)
    >>991
    だよね。
    むしろ、いまさら実装されましても、っていう思いしかないわ。
    997 : nobodyさん - 2010/12/12(日) 04:00:46 ID:??? (-17,-30,-63)
    >>995
    されてねーよ。
    定義側は省略形で書けるかもしれんが、
    実際に使用する側はフルパスで書かないといかんだろ。

    打開策として use で別名エイリアスが付けられるが、
    エイリアスが他クラスと被る可能性があるという本末転倒っぷり。

    それならエイリアスなんか作らず
    $className = 'Hoge\Moge\Class';
    $class = new $className;
    と書く方が利口。

    どちらにせよ、当初の目的は果たせていない。
    998 : nobodyさん - 2010/12/12(日) 04:01:27 ID:??? (+32,+29,-98)
    使いたい奴は使えばいい
    Javaで言えばジェネリック拒否
    C#で言えばラムダやLINQ拒否
    オブジェクト指向拒否に関数型言語拒否と世の中前を向かない人間なんてザラにいる
    一々そう言う奴等を説き伏せてたら時間がいくらあっても足りないでしょ
    999 : nobodyさん - 2010/12/12(日) 04:04:45 ID:??? (+27,+29,-16)
    そこでラムダを持ち出すあたりがアホだなあ
    1000 : nobodyさん - 2010/12/12(日) 04:06:37 ID:??? (+30,+29,-82)
    >>997
    頼むから他の言語の名前空間を使用してから言ってくれ…
    エイリアスが他クラスとかぶる可能性とか何を言ってるんだと言わざるを得ない
    jsですらjqueryやらprototypeやら他のライブラリつかって名前空間を表現しようって風潮なのにどんだけ取り残されてるんだよ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - mayaa + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について