のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,331,452人
昨日: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
    901 : nobodyさん - 2010/11/26(金) 01:44:09 ID:??? (+28,+29,-44)
    クラスの実装をどうするかは、ここでは問題ではない。文字列をオブジェクト型にする事にどういう意味があるか?が問題。
    902 : nobodyさん - 2010/11/26(金) 03:18:21 ID:??? (-22,-30,-260)
    >>900
    >いずれにせよエスケープ状態を表すフラグを持たせた方が良い。

    は解るが、isEscapedの判定をescapeメソッド内で行うべきでは無いかな、

    if (!$string->isEscaped) $string->escape();

    と明示的にエスケープする方が美しい。

    2重エスケープはほんの一例だよ。
    lengthとかmatchとかconvertEncodingとか、文字列をオブジェクト的に扱うメソッドを実装する時に、
    エスケープされてるか否かでメソッドの挙動が変わるのはデメリットの方が多い気がするな
    903 : nobodyさん - 2010/11/26(金) 03:35:37 ID:??? (-2,-9,-55)
    >>901
    ●メリット
    ・流れるようなインターフェースが実装出来る
    ・PDT等のコード補完と相性が良い
    ・引数タイプヒンティングが行える

    ●デメリット
    ・文字列を引数とする標準関数との親和性が下がる
    ・実装&実行コストの増加

    ってところかね
    904 : nobodyさん - 2010/11/26(金) 03:45:45 ID:??? (-21,-30,-96)
    透過的にするならこんな感じかな。うーんクセ強いな
    class HtmlString {
     public $org = "";
     public function __construct($str) { $this->org = ($str instanceof HtmlString) ? $str->org : $str; }
     public function __toString() { return htmlspecialchars($this->org); }
    }
    function h($str) {
     return new HtmlString($str);
    }

    $str1 = h("<a>");
    $str2 = h($str1);
    echo $str1, $str2;
    905 : nobodyさん - 2010/11/26(金) 04:45:26 ID:??? (+30,+29,-78)
    >>904
    クラス名が紛らわしいな・・・文字列操作で無く、エスケープを主体にしたクラスだよね。
    HtmlStringじゃなくてEscapedHtmlという感じの方がしっくりくるな。

    てか大抵のシステムではエスケープはビューの出力時に一度行えば良いはずなので、
    わざわざ文字列をクラス化するメリットは薄い気がするわ。
    907 : nobodyさん - 2010/11/26(金) 14:07:16 ID:??? (+27,+29,-96)
    まあ、実装はケースバイケースで適切にすればいいんだ。拡張性を考えるなら、処理を別メソッドに分割した方が良いし、速度を考えるなら、出来るだけメソッド呼出しは減らした方が良い。
    910 : nobodyさん - 2010/11/27(土) 13:57:52 ID:??? (+22,+29,-14)
    こういう流れ好きだわw
    911 : nobodyさん - 2010/11/29(月) 00:38:59 ID:??? (-16,-14,-2)
    ->
    こんなのわけわかんないんだよね・3・
    難しいよ・3・ ちね
    912 : nobodyさん - 2010/11/30(火) 05:39:49 ID:+I0UUEzG (+19,+29,-2)
    うるせえ!だまってやれ
    913 : nobodyさん - 2010/11/30(火) 16:23:37 ID:??? (+32,+29,-98)
    一概に言っても

    ・基底フレームワーク
    ・アプリケーションフレームワーク

    とあるからなぁ、一般的にはオープンソースのフレームワークを基底に、独自のフレームワーク(っぽい実装)を作るよね?
    その独自部分のノウハウとかテクニックを聞きたいです先輩!
    914 : nobodyさん - 2010/11/30(火) 23:09:01 ID:??? (+67,+29,-204)
    Cakeみたいなフルスタックをベースにすると、ビジネスロジック以外の独自な実装をする余地がほぼ無いです。
    むしろビジネスロジック以外で独自色を出そうとするとメンテ性が悪くなり謎の挙動不審に陥りハマりまくる。

    ただし、これは多分、SymfonyやCIも同様。 (・∀・)イイ!! は知らん。

    ちいたんとかは、よく知らんが基本設計がよければ俺色に染め甲斐がありそうだ。

    Zend FWに関しては、みんなどんな風に使ってるのかよくわからん。
    Zend_ToolをベースにしてオレオレFWを作ってるのか、
    オレオレFW用ライブラリ集として活用してるのか、
    Zend_Toolをベースに完全にZend謹製のものをつかってZend準拠なやりかたでZend Wayしてるのか。
    915 : nobodyさん - 2010/12/01(水) 02:20:33 ID:??? (+38,+30,-100)
    >>914
    独自色というか、FWの仕様と微妙に合わない実装を強いられた時に、
    独自クラスでラップする事はよくあると思うんよ。

    すると
    >むしろビジネスロジック以外で独自色を出そうとするとメンテ性が悪くなり謎の挙動不審に陥りハマりまくる。
    となるわけで・・・ここらへんのうまい落としどころとかテクニックが合ったらいいなぁと思ったのさ。
    916 : nobodyさん - 2010/12/02(木) 01:31:41 ID:??? (+27,+29,-32)
    View周り以外で、既存のものとすりあわないものっていうと、どういうのがあるだろう
    917 : nobodyさん - 2010/12/02(木) 06:02:13 ID:??? (+32,+29,-124)
    CakePHPの可読性の悪さにビックリしたよ。

    PEARやZend Frameworkのコードに慣れているからかもしれないが、
    CakePHPを使って、まともなコードのWebアプリは作れない。

    よくあんなのが人気あるのか不思議だ。
    CakePHPには、ソースコードの良し悪しが分からないド素人しか食いつかないんじゃないかなぁ。

    てわけで、俺はZFに一票。
    918 : 914 - 2010/12/02(木) 10:33:51 ID:??? (-20,-29,-79)
    >>917
    俺はCake厨のド素人なんですが、
    ソースが醜い&設計も微妙な部分があるというのには同意で、
    でもZend Frameworkをどんな風に使ってるのか(使う事が推奨されてるのか)
    >>914でも書いたように全然分からんのです。
    ActiveRecordあるんかなとか、そういうのも含めて・・・
    まあググればいいんでしょうけど、Zend Frameworkをスゲエ便利に使ってますって感じの
    記事を読んだ事が無い・・・。
    919 : nobodyさん - 2010/12/02(木) 15:02:51 ID:??? (+27,+29,-54)
    最初は命名ルールの縛りから逆にチーム開発には有用だしと半分我慢しつつ使ってきたけど
    array地獄でIDEの補助も受けられないし、人間の負担が変に大きすぎる。
    920 : nobodyさん - 2010/12/02(木) 16:45:50 ID:??? (+31,+29,-19)
    素人なんだけど、arrayはミスがあっても気づかなくてすごく時間を無駄にする。
    けど、一気に設定を流し込む場合にこれ以外の良い方法はあるの?
    921 : nobodyさん - 2010/12/02(木) 18:50:33 ID:??? (+22,+25,-11)
    >>920
    クラスにするとか。
    922 : nobodyさん - 2010/12/02(木) 22:25:42 ID:??? (+27,+29,-32)
    別形式で書いて機械的に変換掛ける
    俺俺バリデーターを作って実装前にチェック掛ける
    PHPをやめる
    923 : nobodyさん - 2010/12/03(金) 00:19:07 ID:??? (+32,+29,-42)
    ZFは自分好みに拡張してなんぼじゃないかな。
    取捨選択しやすくて拡張の土台として都合がいい。
    その分、素体のまま開発始めようとした場合のご利益は少ないと思う。

    あとはソース見てクラス設計の参考に使うのも結構いいかも
    924 : nobodyさん - 2010/12/03(金) 00:58:33 ID:??? (+10,+22,+0)
    基底クラス郡
    925 : nobodyさん - 2010/12/04(土) 12:01:25 ID:??? (+3,-4,-149)
    >>917
    可読性が悪い理由は簡単で
    互換性を重視しているからだよ。

    PHP4に対応するために、あえてPHP5の機能を
    使わないで作られている。

    いまどきPHP4なんてと思うかもしれないが、
    CakePHPが人気が出たときはPHP4のサポートは終了しておらず、
    PHP5への移行期だったから人気が出た。
    いまだに古いRHELとかPHP4を搭載したディストリが
    サポート期間中だったりする。
    926 : nobodyさん - 2010/12/04(土) 12:19:44 ID:??? (+27,+29,-32)
    PHP5の機能を使わなくたって、可読性の良い
    コードは書けると思う。
    927 : nobodyさん - 2010/12/05(日) 02:28:31 ID:??? (+28,+28,-80)
    フレームワークの良し悪しは好みかもしれんが、
    ZendFrameworkの明確なコード規約は素晴らしいと思う。

    冗長と感じるかもしれないが、IDEとの親和性が抜群に良いのでチーム開発する上では必須。
    928 : nobodyさん - 2010/12/05(日) 06:37:32 ID:??? (-29,-29,-54)
    >>927
    同意です。

    ところで、
    >> IDEとの親和性が抜群に良い
    とのことですが、何をお使いですか?
    NetBeans? PDT?

    参考までに教えてください。
    931 : nobodyさん - 2010/12/06(月) 10:18:57 ID:??? (+32,+29,-62)
    改行とかの規約はPEARにも明記されてるし、
    べつにCakeにないからどうという話じゃないと思う
    レイヤーが違うというか
    933 : nobodyさん - 2010/12/06(月) 11:32:40 ID:??? (+25,+24,-21)
    >>931
    誰もCakeを否定していないし、何故PEARが出てくる。
    934 : nobodyさん - 2010/12/06(月) 23:44:19 ID:??? (-24,-30,-128)
    >>930 >>933
    >phpDocの書き方を含めて、各種命名規約、インデント改行規約、PHP閉じタグ無し等が名言
    コーディング規約って言ったら普通こういうのを定義したものを指すんだから
    ZF云々じゃなくてコーディング規約云々の話だね。

    http://pear.php.net/manual/ja/standards.php
    http://trac.cakephp.org/wiki/Developement/CodingStandards
    http://trac.symfony-project.org/wiki/HowToContributeToSymfony#CodingStandards
    http://framework.zend.com/manual/ja/coding-standard.html
    935 : nobodyさん - 2010/12/07(火) 00:13:12 ID:??? (+11,+11,-116)
    >>934
    その4つの規約にも、それぞれメリットデメリットがあるし、規約も含めてのフレームワークだと思うよ。

    個人的には最も枯れているPEAR記法をベースにしたZend規約がベターで、
    PDT(ZendStudio)との親和性も高いと感じたのさ。
    936 : nobodyさん - 2010/12/07(火) 01:27:13 ID:??? (-11,-9,-54)
    相性の悪い規約とIDEってあるの?
    規約やIDEの評価基準に使いたいから、純粋に知りたい
    937 : nobodyさん - 2010/12/07(火) 01:37:00 ID:??? (+24,+26,-19)
    実行時に動的にバインドする系のはヒントが出ないよね
    938 : nobodyさん - 2010/12/07(火) 02:17:26 ID:??? (-29,-29,-185)
    しいて言えばPEAR&Zend形式はアンダースコア区切りの疑似ネームスペースを採用しているので、
    パッケージ名が被る心配はほぼ無いってのが強み。

    cakeはPHP4コード&マジックメソッド実装が多めで補完が弱い。
    Symfonyは2.0でZend風の命名規約に移行するし、
    Twig等の周辺ライブラリは既にZend形式になっている。

    941 : nobodyさん - 2010/12/08(水) 01:27:06 ID:??? (-22,-29,-153)
    >>970
    5.2を完全に切り捨てるのはまだ早いからかと。

    あと、PHPのnamespaceはお世辞にも使いやすいとは言えない。
    (PEAR&Zend形式から乗り換えるメリットがほっとんど無い)

    まず、

    ・クラスの完全修飾にバックスラッシュが入る
     → 文字列にクラス名入れる時に面倒がおこる

    ・名前解決が無駄に複雑
     → 同ネームスペース内であれば、記述が楽になるかもしれんが、
       大抵の場合は \ で始まる絶対パスで記述する事になる。


    5.3の他の機能は素晴らしいと思うが、
    Zend形式でなく、namespaceを使う明確なメリットを教えて欲しい。
    943 : nobodyさん - 2010/12/09(木) 00:27:57 ID:??? (+24,+26,-38)
    バックスラッシュはエスケープにも使うからなぁ
    944 : nobodyさん - 2010/12/09(木) 01:35:16 ID:??? (+19,+26,-2)
    やっぱり型あり言語がいいよ
    946 : nobodyさん - 2010/12/09(木) 07:11:56 ID:??? (+27,+29,-3)
    普通って何?
    ていうか普通は省略しない。
    947 : 914 - 2010/12/09(木) 19:18:57 ID:??? (-3,+5,-3)
    >>945-946
    むしろおまいらの普通はJava基準
    948 : nobodyさん - 2010/12/09(木) 20:56:27 ID:??? (-28,-22,-13)
    >>945
    PHP4との互換性のためだから仕方ない
    949 : nobodyさん - 2010/12/09(木) 21:56:09 ID:??? (+27,+29,-7)
    まだPHP4対応で書かなきゃいけない可哀想な人なんだ察しろよ
    950 : nobodyさん - 2010/12/09(木) 23:56:53 ID:??? (-28,-29,-2)
    >>947
    Javaは省略したらprivateにはならないよ。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - mayaa + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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