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

    私的良スレ書庫

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

    元スレ【PHP】フレームワークについて語るスレ10【総合】

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    51 : nobodyさん - 2008/08/29(金) 01:26:14 ID:??? (+44,-20,-19)
    全部staticなクラスって単なる構造化プログラミングじゃん。
    52 : nobodyさん - 2008/08/29(金) 01:39:13 ID:??? (+68,+29,-107)
    >>51
    それは言えるかも。オブジェクト指向ではないと。
    まあぶっちゃけstaticなプロパティを、globalsのいらないglobal変数として
    使ってる私が通りますよ、と。
    原則がないといくら文法がJavaに近くなっても意味がないってことはありそう

    でもそれはデザインパターンと直接には関係しないような
    singletonにしたって、普通にglobalじゃんっていう評価みたいだし。俺はよくわからんけどね
    53 : 23 - 2008/08/29(金) 03:15:53 ID:??? (+62,+29,-90)
    オブジェクト指向は単なる表記方法ではなく考え方なので、
    全部staticのクラスだろうがオブジェクト指向にすることは可能。
    さらにいえば、別にクラスがなくても可能。
    スレッドのないPHPではsingletonに色んなざっくばらんな代替方法があると。
    ただ汎用的な知識としてはJavaのやり方が無難で
    わざわざ他の方法をとることもないということだな。
    よくわかった。
    54 : nobodyさん - 2008/08/29(金) 03:25:48 ID:??? (+57,+29,-25)
    えらく短絡的なまとめきたー
    てかそんな投げやりなまとめなら23とか名乗らず名無しで書けよw

    ちょっとでも擁護したレスが軒並み後悔するような、嫌な感じだwww
    さあ寝よ
    55 : nobodyさん - 2008/08/29(金) 03:31:33 ID:??? (+55,+29,-19)

    別に君に擁護されなくても全く困らんよ?
    もともと馬鹿に的外れな批判されても痛くもなんともないし
    57 : nobodyさん - 2008/08/29(金) 10:42:02 ID:??? (-25,-30,-87)
    rubyのmixinみたいなことしたいのですが、どうしたらいいですか?
    クラス定義の中から、
    class Hoge {
    self::mixin('OtherClass');
    }

    HogeにOtherClassがmixinされる
    みたいな形にしたいのですが。
    runkitは不安定だったので使いたくありません。
    58 : nobodyさん - 2008/08/29(金) 10:51:30 ID:??? (-1,-29,-5)
    __call でがんばるか、ruby を使ってください
    60 : nobodyさん - 2008/08/29(金) 11:39:37 ID:??? (-6,-29,-93)
    >>59
    ありが㌧みてみます
    とりあえずsymfonyのsfMixerを見てみたけど
    __callの中からsfMixerを呼んで、そこでバックトレース情報を利用して
    混ぜられた側のメソッドにデレゲートしてる感じ
    この方法だと、混ぜられた側のメソッドから
    混ぜてる側のメンバにアクセスできないような・・・
    61 : nobodyさん - 2008/08/29(金) 12:35:23 ID:??? (-1,-29,-63)
    rhacoのmixinはeval使ってました
    速度さえ気にしなければeval使えば大抵のことできますね~
    evalでいくしかないかな
    62 : nobodyさん - 2008/08/29(金) 13:15:34 ID:??? (+39,+8,-62)
    全部staticメソッドにするというなら、それは構造化プログラミングそのものなわけで、それと比較するなら、オブジェクト指向プログラミングだろ。
    シングルトンパターンという実装パターンの一つとじゃ比較の対象にならない。
    63 : nobodyさん - 2008/08/29(金) 13:57:50 ID:??? (+57,+29,-27)
    構造化プログラミングとOOPを峻別してる奴なんなの?
    OOPは構造化プログラミングを含んでるんだよ
    書き方の問題ではない
    64 : nobodyさん - 2008/08/29(金) 19:54:55 ID:YM8BIoOF (-9,+29,-62)
    >>62
    なに難しいこといってんの?
    シングルトンでやろうとしていることは、staticメソッドでもできるんじゃね?というだけの話。
    なんで構造化プログラムだとかオブジェクト指向との比較とかでてくるの?ばかなの?
    65 : nobodyさん - 2008/08/30(土) 03:25:30 ID:??? (-4,-29,-48)
    >>57
    runkitは使ったことないですが、これは使ってます。
    http://d.hatena.ne.jp/rsky/20080124/1201186473
    qiqもすごくいい。もう普通のPHPは書けなくなるw
    http://d.hatena.ne.jp/rsky/20080301/1204326365
    66 : nobodyさん - 2008/08/30(土) 04:23:53 ID:??? (+62,+29,-92)
    構造化プログラミングとオブジェクト指向プログラミングは比較して語られるものだよ。
    あるプログラム、ある言語をを見て、それが構造化プログラミングなものなのか、オブジェクト指向プログラミングなのか、区別されるんだから。
    その区別が出来ないというのは、人類皆兄弟とかいうたぐいの屁理屈だ。
    67 : nobodyさん - 2008/08/30(土) 11:36:30 ID:??? (+55,+29,-22)
    もうお馬鹿ちゃんは書かない方がいいんじゃないか
    自分を大きく見せようとする努力ほど無意味なものはない
    68 : nobodyさん - 2008/08/30(土) 12:39:53 ID:??? (+98,+29,-71)
    オブジェクト指向プログラミングは、構造化プログラミングを含んでいるものだから、
    プログラムを見て、オブジェクト指向プログラミング特有のクラス等を
    (正しく)使っていればオブジェクト指向、使っていなければ構造化って判断をするな。

    69 : nobodyさん - 2008/08/30(土) 18:14:35 ID:OmTt4XZu (+67,+27,-117)
    RUBYはオブジェクト指向を前提とした言語で、PERLは本来構造化言語なのをパッケージをクラスに流用することでオブジェクト指向の機能を持たせている。
    昔の8ビットマイコン時代のBASICはGOTO文で処理を行き来する非構造化言語。
    このプログラミングのパラダイムシフトは世界の共通認識だから。
    70 : nobodyさん - 2008/08/30(土) 20:22:14 ID:??? (+75,+28,-53)
    >>68
    「~判断をするな。」が、I do なのか you shouldn't do なのかわからん
    >>69
    >このプログラミングのパラダイムシフトは世界の共通認識だから。
    だから、何なんだ

    どうせならもう少し結論を明確にしてもいいんじゃないかと思う
    話がふわふわして仕方がないw
    71 : nobodyさん - 2008/08/30(土) 20:38:57 ID:/jeGwvoC (+116,+29,-67)
    はじめまして、質問させてください。
    社内でWebサービス構築のために
    MVCモデルのPHPフレームワークを作ることになったのですが、
    どのあたりまでの実装でフレームワークとして体をなすのか分かりません。
    どなたか教えていただけませんでしょうか?
    72 : nobodyさん - 2008/08/30(土) 20:57:57 ID:??? (+94,+29,-36)
    それが分からない人達がフレームワークを作ることに意味があるとは思えない
    既存のものを使った方がいいのでは?
    73 : nobodyさん - 2008/08/30(土) 21:07:18 ID:/jeGwvoC (+32,+29,-61)
    回答ありがとうございます。
    私も車輪の発明になる気がしてどうも100%乗り気になれないのです。
    ちなみに72さんは自作フレームワークの作成または、
    既存のフレームワークで、ずっと使い続けてるものありますか?
    74 : nobodyさん - 2008/08/30(土) 21:12:11 ID:??? (+97,+30,-259)
    >>72
    オープンソース全面禁止とかいう規則の会社もあるらしいし、
    意味が無いかどうかはわからないのでは?
    (PHPやApache自体もオープンソースだから、それはないかもだけどw)

    >>71
    フレームワークを利用する目的って、多分複数案件で使い回す事が出来て、また
    複数の開発者で、またある程度の期間にわたって共通認識・理解をもつことで、
    開発コストおよび保守コストを抑えることだと思うんだ
    後は、基本的な部品を気合い入れて作ることで、品質の最低ライン(主にセキュリティ面など)を
    保証するという意味合いもあるけど

    だから、どこまでというのは程度問題でしかないと、個人的には思う
    やりすぎれば使い回しに自由がきかなくなったりするし、緩すぎれば保守コストの
    軽減には役に立たなかったりするんじゃない?

    極端に言えばディレクトリ構造を決めて使い回すだけでも、ある意味「フレームワーク」
    だと思う
    75 : nobodyさん - 2008/08/30(土) 21:29:08 ID:/jeGwvoC (+116,+30,-105)
    >>74
    >だから、どこまでというのは程度問題でしかないと、個人的には思う
    なるほど、なかなか外部の方との技術意見交換をする機会がなくて参考になります。
    ありがとうございます。

    実は1ヶ月ほど前に公開になったあるBtoBのWebサービスで
    MVCではないですが、自作でフレームワークを作ってみました。
    少しは楽できるのですが、ホントに方向性的に合ってるのか、
    若干迷いつつあるんです。
    上からMVCモデルのフレームワークを準備してくれと頼まれた中で、
    また0から準備することが本当に必要なのか迷ってまして。。。
    この掲示板でやめた方がいいなと思ったとしても
    やらないといけないことには変わりないんですけれど。


    76 : nobodyさん - 2008/08/30(土) 21:46:18 ID:??? (+18,-30,-213)
    MVCにこだわるなら
     ・各データの出し入れの基礎的な記述と、各データごとのロジック
     ・表示に関する基礎的な記述とロジック
    を、実行スクリプトから切り離すのが最低限?
    例えば、昔よく見た

    <?php
    // DB接続処理ほげほげ
     (省略)
     $sql = 'SELECT * FROM customer;';
    $ret = mysql_query($sql, $db);
    $rows = array();
    while($row = mysql_fetch_assoc($ret)){ $rows[] = $row; }
    ?>
    <html>
    (略)
    <?php
     foreach($rows as $row){
      (略)
    }
    ?>
    (略)
    </html>

    なんてのを、どう分けるか、何のために分けるか、というお話だと思うんだ。
    その具体的な分け方・方向については・・・うーん俺は人に教えるほど
    きちんと勉強していません。頑張れ!(オイ)
    77 : nobodyさん - 2008/08/30(土) 22:03:54 ID:/jeGwvoC (+23,+22,-10)
    >>76
    ありがとうございます。参考にさせていただきます。

    78 : nobodyさん - 2008/08/31(日) 11:40:02 ID:??? (+108,+29,-18)
    >>75
    えーとな。
    まずフレームワークを使ってから
    考えれ。
    79 : nobodyさん - 2008/08/31(日) 18:59:51 ID:??? (+82,+30,-205)
    >>75
    >>78の言うように
    まず既存のフレームワークを利用してみて、長所や短所を理解してから、
    自分(とその周り)が使うに当たって必要な構造としてどうなってると使いやすいか考えて
    設計しなきゃいけないんでない?

    CIスレとかCakeスレで出てる疑問とかそこらのブログで出てるような疑問とかも割りと参考になりそうな気がします。

    後、巷ではやってるフレームワークは付属のライブラリが充実してるってのもポイントだったり。
    Viewにはテンプレートエンジンを使う必要があるのかとかも考えたり。

    >>71がどのように考えてるか分かりませんが、結構重そうな内容ですね。

    で、俺もまた、人に教えるほどきちんと勉強していません。頑張れ!(オイ)

    80 : nobodyさん - 2008/08/31(日) 22:02:43 ID:BcOgvLp9 (+39,+29,-44)
    ありがとうございます。
    ViewはSmartyの実績があるので、ほぼ確定かと思います。
    あとはMCですね。
    で、ご指摘の通り、既存のフレームワークをいくつか
    実際に使ってみて、超シンプル版から作っていこうと思います。

    それにしても結構種類ありますよね~。
    81 : nobodyさん - 2008/08/31(日) 22:18:42 ID:??? (+29,-29,-84)
    >>80
    とりあえずCakePHPとCodeIgniterは分かりやすいかな。
    SinfonyやEthnaも人気あるっぽいけど。

    後は、とりあえず有名なフレームワークをそのまま流用して、
    自分の作りたい方向性に足りないものを追加/修正してやって、
    作っちゃうっていう方向性も検討の余地がありそうです。
    82 : nobodyさん - 2008/08/31(日) 23:09:43 ID:??? (+85,+30,-74)
    骨は例えばちいたんでもいいのでは
    他のはどうしても、流儀を覚えてそれに則らないと
    カスタマイズも難しいような所があるし

    ライブラリは、ぶっちゃけPEARやZendを引っ張ってきて、
    そのままではごちゃごちゃになるなら、その一部のコードを、
    流用して使えば済むことも多い
    83 : nobodyさん - 2008/08/31(日) 23:44:28 ID:BcOgvLp9 (+41,+29,-60)
    >>81
    なるほど、参考になります。ありがとうございます。
    CodeIgniterは知りませんでした。勉強になります。

    >>82
    >流儀を覚えて
    そうですよね。そのコストもありますよね。

    ライブラリについては私も同感です。
    PEARは今でも使ってますし、DBはADODBを使ってます。
    84 : nobodyさん - 2008/09/01(月) 07:50:32 ID:??? (+12,-15,-31)
    しかし、PEARやADODBを使えるのにフレームワークは自作しなきゃならん意味が分からんな。
    85 : nobodyさん - 2008/09/01(月) 16:27:37 ID:??? (+63,+30,-99)
    勝ち馬に乗れなくてサポートが止まったらどうするんだ、とか、
    複雑すぎると兵隊に書かせられないから却下
    (自社開発なら開発者が目の前にいるから例外)とか、
    その手の腐った理由かもな。

    自作FWなんて最初からサポート止まってるも同然なんだけど。

    あとあれだ、
    FW使った分だけ工数が削減されるがそれじゃ困る、
    なんていう理由じゃないか?
    86 : nobodyさん - 2008/09/01(月) 20:42:35 ID:??? (+57,+29,-76)
    フレームワーク使うと大幅に工数下がるね。
    でも、フレームワークを勉強するためのコストが要るね。

    でもさ、そもそも最低限の勉強をしてから実践投入しろと。
    フレームワーク=最低限の勉強だよ。
    87 : nobodyさん - 2008/09/02(火) 15:46:31 ID:??? (+61,+28,-159)
    自分の印象では、CodeIgniterは分かりやすくて良かったです。
    SymfonyとかCakePHPは、使い方を学習する段階で、面倒くさいな~と思ってしまいました。
    辛抱強く性格でないと、じっくり腰をすえてフレームワークの使い方を学ぶ段階が苦痛に感じられますね?
    Zend Frameworkも解説本は分かりやすかったです。
    ちいたんはチュートリアルが不十分であると感じました。
    EthnaやMapleは試してないので分かりません。

    「日本向けの携帯サイトを作る」という視点で見た場合、各フレームワークの使いやすいさ、機能はどうでしょうか?
    88 : nobodyさん - 2008/09/02(火) 19:21:26 ID:kKY94AaP (+52,+23,-39)
    一般的に、フレームワークでは、
    データベースの外部キー制約を設置していた場合、
    親テーブルの行を削除したら、
    対応する子テーブルの行も削除されるようになっているのでしょうか?
    89 : nobodyさん - 2008/09/02(火) 20:08:08 ID:??? (+64,+29,-59)
    >>88
    参照整合性制約(外部キー)までチェックしてデータ操作してくれる
    モデルを実装しているフレームワークは寡聞にして聞いたことが無い。
    有ったら俺も知りたいな。
    90 : nobodyさん - 2008/09/02(火) 20:41:21 ID:??? (-1,-29,-3)
    Zend_Dbはそんな感じのやつあったんじゃね?
    91 : nobodyさん - 2008/09/02(火) 20:51:11 ID:??? (-1,-29,-81)
    ON DELETE CASCADEではだめなん?
    DBのパフォーマンスのため、参照整合性制約を付けずにアプリケーション側で
    実装する場合もあるとは思うけど、外部キー制約してるんだよね?
    92 : nobodyさん - 2008/09/09(火) 00:13:17 ID:??? (-1,-29,-48)
    既出だけどsabelなるフレームワークが出てるけど、最近はルーティングとかYAMLとかの設定ファイルに書かないのが流行りなの?
    94 : nobodyさん - 2008/09/13(土) 21:34:17 ID:??? (-1,-29,-23)
    そういう文化的な気持ち悪さはわかりにくいな
    例えば private と protected をわけるスタイルもある
    _ と __ とか (←わかりにくいw)

    Zendは特にわけてないのかな?
    95 : nobodyさん - 2008/09/13(土) 22:06:52 ID:??? (-1,-29,-17)
    __は__setとか__constratみたいのがあるじゃん
    96 : nobodyさん - 2008/09/13(土) 22:09:06 ID:??? (+54,+22,-16)
    ↑予約メソッドをリストアップして回避すればいいじゃん
    そんなに無いよ
    97 : nobodyさん - 2008/09/13(土) 22:11:08 ID:??? (-3,-29,-24)
    そこはPHPが糞としか言いようがないな
    せめて予約メソッドは、__set__ とか __clone__ とかにしておいてくれればw
    98 : nobodyさん - 2008/09/13(土) 22:12:10 ID:??? (+32,+14,+0)
    めんどい
    99 : nobodyさん - 2008/09/13(土) 22:14:01 ID:??? (+3,-30,-67)
    ___set っていうのもありか。

    コーディングの自由度の幅や読みやすさを考えるなら、
    いっそ予約されたメソッドなんかは

    __reserved_method_CONSTRUCT()

    くらいやってくれてもなんの問題もないしな
    100 : nobodyさん - 2008/09/13(土) 22:25:24 ID:??? (+127,+29,-1)
    ->が一番嫌いなんだよな
    .がいいよな.のほうがカッコいい
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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